-
Notifications
You must be signed in to change notification settings - Fork 1
/
stapnm.py
55 lines (46 loc) · 1.61 KB
/
stapnm.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import sys
import os
import re
import shutil
from pathlib import Path
stlm = sys.argv[1]
stlpdm = Path(stlm)
if stlpdm.exists() and stlpdm.is_dir():
shutil.rmtree(stlm)
os.mkdir(stlm)
shutil.copyfile('style.css', stlm + '/style.css')
nidrsh = open('nidrsh.html').read()
anukrmni = []
def krmh(fn):
for i, a in enumerate(anukrmni):
if a[0] == fn:
return i
return -1
def anukrmh(fn):
k = krmh(fn)
if k == -1:
with open('prkrnani/' + fn) as f:
i = len(anukrmni)
anukrmni.append([fn, ('' if fn == 'index' else f'<h3>{fn}</h3>') + f.read() + '<hr>'])
for l in re.findall('\([^\)]*\)', anukrmni[i][1]):
ln = [w.strip() for w in l[1:-1].split(re.findall(' *, *', l)[0])]
def sutrsnkya(s):
return len(re.findall('^[0-9]+\.[0-9]+\.[0-9]+$', s))
href, ls = (('https://ashtadhyayi.github.io//sutra-details/?sutra=' + ln[1], '') if sutrsnkya(ln[1]) else (ln[1], '↱')) if '.' in ln[1] else (ln[1] + '.html', '')
if sutrsnkya(ln[1]):
ln[0] = '<b>' + ln[0] + '</b>'
anukrmni[i][1] = anukrmni[i][1].replace(l, f'<a href="{href}">{ln[0] + ls}</a>')
if not '.' in ln[1]:
anukrmni[anukrmh(ln[1])][1] += '' if fn == 'index' else f'<a href="{fn}.html">{fn}</a><br>'
return i
else:
return k
anukrmh('index')
for a in anukrmni:
fn = a[0]
s = a[1]
with open(stlm + '/' + fn + '.html', 'w') as of:
lekym = nidrsh
for r in [['प्र॒क॒र॒ण॒ना॒म', ('' if fn == 'index' else fn + ' | ') + 'स्व॒र॒न्या॒याः'], ['त॒त्त्वम्', s]]:
lekym = lekym.replace('[' + r[0] + ']', r[1])
of.write(lekym.replace('/a><a ', '/a>-<a '))