-
Notifications
You must be signed in to change notification settings - Fork 1
/
2. generate_html.py
63 lines (53 loc) · 1.69 KB
/
2. generate_html.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
56
57
58
59
60
61
62
63
import os
import json
from tqdm import tqdm
import minify_html
from django.conf import settings
import django
from django.template.loader import get_template
settings.configure(TEMPLATES=[{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['./template']
}])
django.setup()
css = '<link rel="stylesheet" type="text/css" href="style.css" />\n'
def generate_html(dlist):
text = ""
for Dict in dlist:
text += get_template("base.html").render(Dict)
text = minify_html.minify(text, minify_js=True)
text = css+text
return text
with open("output/dict.json", "r", encoding="utf-8") as f:
data = json.loads(f.read())
convert = {
'f': "feminine",
'm': "masculine",
'n': "neuter",
'pl': "plural",
'b': "both",
'i': "imperfective",
'p': "perfective",
'': "unknown",
}
for word, dlist in data.items():
for Dict in dlist:
if Dict["overview"]["type"] == "noun":
Dict["extra"]["gender"] = convert[Dict["extra"]["gender"]]
if Dict["overview"]["type"] == "verb":
Dict["extra"]["aspect"] = convert[Dict["extra"]["aspect"]]
# data={
# "знать": data["знать"],
# "узнать": data["узнать"],
# "узнавать": data["узнавать"]
# }
# # 一个词一个html
# for word, dlist in data.items():
# with open("data/%s.html"%word, "w", encoding="utf-8") as f:
# f.write(generate_html(dlist))
# # MdxBuilder的html
if os.path.exists("output/Mdx_html.txt"):
os.remove("output/Mdx_html.txt")
with open("output/Mdx_html.txt", "a", encoding="utf-8") as f:
for word, dlist in tqdm(data.items()):
f.write(word+"\n"+generate_html(dlist)+"\n</>\n")