@@ -25,9 +25,9 @@ def load_dt_map():
25
25
dt_map = {}
26
26
lines = open ('dt.txt' , encoding = 'utf-8' ) \
27
27
.read ().split ('\n ' )
28
- lines = filter (None , map (lambda x : x .strip ()))
28
+ lines = filter (None , map (lambda x : x .strip (), lines ))
29
29
lines = filter (lambda x : len (x ) >= 2 ,
30
- map (lambda x : x .split (' ' )))
30
+ map (lambda x : x .split (' ' ), lines ))
31
31
for l in lines : dt_map [l [0 ]] = l [1 ]
32
32
return dt_map
33
33
@@ -141,8 +141,12 @@ def get_toc(html):
141
141
for i in range (len (el_links )):
142
142
id = re .search (r'/(\d+)\.htm' , el_links .eq (i ).attr ('href' )).group (1 )
143
143
dt = el_dts .eq (i ).text ().split ('/' )[0 ][3 :].replace ('-' , '' )
144
- if dt != '' :
145
- res .append ({'id' : id , 'dt' : dt })
144
+ res .append ({'id' : id , 'dt' : dt })
145
+ for i in range (1 , len (res )):
146
+ res [i ]['dt' ] = res [i ]['dt' ] or res [i - 1 ]['dt' ]
147
+ for i in range (len (res ) - 2 , - 1 , - 1 ):
148
+ res [i ]['dt' ] = res [i ]['dt' ] or res [i + 1 ]['dt' ]
149
+ res = [r for r in res if r ['dt' ]]
146
150
return res
147
151
148
152
0 commit comments