topic_list.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. from .tool.func import *
  2. async def topic_list(name = 'Test'):
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. div = ''
  6. tool = flask.request.args.get('tool', '')
  7. plus = ''
  8. menu = [['topic/' + url_pas(name), await get_lang('return')]]
  9. if tool == 'close':
  10. curs.execute(db_change("select code, sub from rd where title = ? and stop = 'O' order by sub asc"), [name])
  11. sub = await get_lang('closed_discussion')
  12. elif tool == 'agree':
  13. curs.execute(db_change("select code, sub from rd where title = ? and agree = 'O' order by sub asc"), [name])
  14. sub = await get_lang('agreed_discussion')
  15. else:
  16. sub = await get_lang('discussion_list')
  17. menu = [['w/' + url_pas(name), await get_lang('document')]]
  18. plus = '''
  19. <a href="/topic/''' + url_pas(name) + '?tool=close">(' + await get_lang('closed_discussion') + ''')</a>
  20. <a href="/topic/''' + url_pas(name) + '?tool=agree">(' + await get_lang('agreed_discussion') + ''')</a>
  21. <hr class="main_hr">
  22. <a href="/thread/0/''' + url_pas(name) + '''">(''' + await get_lang('make_new_topic') + ''')</a>
  23. '''
  24. curs.execute(db_change("select code, sub from rd where title = ? and stop != 'O' order by date desc"), [name])
  25. for data in curs.fetchall():
  26. div += '<h2><a href="/thread/' + data[0] + '">' + data[0] + '. ' + html.escape(data[1]) + '</a></h2>'
  27. if div == '':
  28. plus = re.sub(r'^<br>', '', plus)
  29. return await render_template(
  30. name,
  31. div + plus,
  32. '(' + sub + ')',
  33. menu
  34. )