4
4
5
5
from spider import Spider
6
6
7
+ # load templates
8
+ with open ('./readme_template.md' , 'r' , encoding = 'utf-8' ) as f :
9
+ readme_cn = f .read ()
10
+ with open ('./readme_template_en.md' , 'r' , encoding = 'utf-8' ) as f :
11
+ readme_en = f .read ()
12
+
13
+ with open ('./problem_readme_template.md' , 'r' , encoding = 'utf-8' ) as f :
14
+ problem_readme_cn = f .read ()
15
+ with open ('./problem_readme_template_en.md' , 'r' , encoding = 'utf-8' ) as f :
16
+ problem_readme_en = f .read ()
17
+ with open ('./sql_problem_readme_template.md' , 'r' , encoding = 'utf-8' ) as f :
18
+ sql_readme_cn = f .read ()
19
+ with open ('./sql_problem_readme_template_en.md' , 'r' , encoding = 'utf-8' ) as f :
20
+ sql_readme_en = f .read ()
21
+ with open ('./bash_problem_readme_template.md' , 'r' , encoding = 'utf-8' ) as f :
22
+ bash_readme_cn = f .read ()
23
+ with open ('./bash_problem_readme_template_en.md' , 'r' , encoding = 'utf-8' ) as f :
24
+ bash_readme_en = f .read ()
25
+
26
+
27
+ def select_templates (category ):
28
+ if category == 'Shell' :
29
+ return [bash_readme_cn , bash_readme_en ]
30
+ if category == 'Database' :
31
+ return [sql_readme_cn , sql_readme_en ]
32
+ return [problem_readme_cn , problem_readme_en ]
33
+
7
34
8
35
def generate_readme (result ):
9
36
md_table_cn = [item ['md_table_row_cn' ] for item in result ]
@@ -18,11 +45,6 @@ def generate_readme(result):
18
45
)
19
46
table_cn += '' .join (items )
20
47
21
- with open ('./readme_template.md' , 'r' , encoding = 'utf-8' ) as f :
22
- readme_cn = f .read ()
23
- with open ('./README.md' , 'w' , encoding = 'utf-8' ) as f :
24
- f .write (readme_cn .format (table_cn ))
25
-
26
48
# generate README_EN.md
27
49
items = []
28
50
table_en = '\n | # | Solution | Tags | Difficulty | Remark |\n | --- | --- | --- | --- | --- |'
@@ -32,26 +54,13 @@ def generate_readme(result):
32
54
)
33
55
table_en += '' .join (items )
34
56
35
- with open ('./readme_template_en .md' , 'r ' , encoding = 'utf-8' ) as f :
36
- readme_en = f . read ( )
57
+ with open ('./README .md' , 'w ' , encoding = 'utf-8' ) as f :
58
+ f . write ( readme_cn . format ( table_cn ) )
37
59
with open ('./README_EN.md' , 'w' , encoding = 'utf-8' ) as f :
38
60
f .write (readme_en .format (table_en ))
39
61
40
62
41
63
def generate_question_readme (result ):
42
- with open ('./problem_readme_template.md' , 'r' , encoding = 'utf-8' ) as f :
43
- readme_cn = f .read ()
44
- with open ('./problem_readme_template_en.md' , 'r' , encoding = 'utf-8' ) as f :
45
- readme_en = f .read ()
46
- with open ('./sql_problem_readme_template.md' , 'r' , encoding = 'utf-8' ) as f :
47
- sql_readme_cn = f .read ()
48
- with open ('./sql_problem_readme_template_en.md' , 'r' , encoding = 'utf-8' ) as f :
49
- sql_readme_en = f .read ()
50
- with open ('./bash_problem_readme_template.md' , 'r' , encoding = 'utf-8' ) as f :
51
- bash_readme_cn = f .read ()
52
- with open ('./bash_problem_readme_template_en.md' , 'r' , encoding = 'utf-8' ) as f :
53
- bash_readme_en = f .read ()
54
-
55
64
for item in result :
56
65
if not item ['content_cn' ] and not item ['content_en' ]:
57
66
continue
@@ -62,17 +71,10 @@ def generate_question_readme(result):
62
71
if os .path .isdir (path ):
63
72
continue
64
73
os .makedirs (path )
74
+
65
75
# choose the readme template
66
76
category = item ['category' ]
67
- if category == 'Shell' :
68
- readme_template_cn = bash_readme_cn
69
- readme_template_en = bash_readme_en
70
- elif category == 'Database' :
71
- readme_template_cn = sql_readme_cn
72
- readme_template_en = sql_readme_en
73
- else :
74
- readme_template_cn = readme_cn
75
- readme_template_en = readme_en
77
+ readme_template_cn , readme_template_en = select_templates (category )
76
78
77
79
# generate lc-cn problem readme
78
80
with open (f'{ path } /README.md' , 'w' , encoding = 'utf-8' ) as f1 :
@@ -101,8 +103,7 @@ def generate_question_readme(result):
101
103
102
104
def generate_summary (result ):
103
105
"""generate summary files"""
104
- summary_cn = ''
105
- summary_en = ''
106
+ summary_cn = summary_en = ''
106
107
m = {int (item ['frontend_question_id' ]): item for item in result }
107
108
for file in os .listdir ('./' ):
108
109
if os .path .isdir ("./" + file ) and file != '__pycache__' :
@@ -135,10 +136,15 @@ def save(result):
135
136
136
137
137
138
if __name__ == '__main__' :
138
- cn = ''
139
- en = ''
140
- spider = Spider (cn , en )
139
+ cookie_cn = ''
140
+ cookie_en = ''
141
+ spider = Spider (cookie_cn , cookie_en )
141
142
res = spider .run ()
143
+
144
+ # with open('./result.json', 'r', encoding='utf-8') as f:
145
+ # res = f.read()
146
+ # res = json.loads(res)
147
+
142
148
generate_readme (res )
143
149
generate_question_readme (res )
144
150
generate_summary (res )
0 commit comments