def get_threads_by_tag(self, filename):
try:
data = load_file(join('repos', self.name, 'master',
'source', filename + '.rst'))
except:
return []
label_list = re.findall(r'^\.\. _([0-9a-z\-]+):\s$', data,
re.MULTILINE)
File_Tag = application.threads.File_Tag
Thread = application.threads.Thread
threads_by_tag = (db.session.query(File_Tag.filename, Thread.title)
.filter(File_Tag.thread_id==Thread.id)
.filter(File_Tag.filename.in_(label_list)).all())
return [{'name': l,
'titles': [x[1] for x in threads_by_tag if x[0]==l]}
for l in label_list]
评论列表
文章目录