topic_list.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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), get_lang(conn, '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 = get_lang(conn, '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 = get_lang(conn, 'agreed_discussion')
  15. else:
  16. sub = get_lang(conn, 'discussion_list')
  17. menu = [['w/' + url_pas(name), get_lang(conn, 'document')]]
  18. plus = '''
  19. <a href="/topic/''' + url_pas(name) + '?tool=close">(' + get_lang(conn, 'closed_discussion') + ''')</a>
  20. <a href="/topic/''' + url_pas(name) + '?tool=agree">(' + get_lang(conn, 'agreed_discussion') + ''')</a>
  21. <hr class="main_hr">
  22. <a href="/thread/0/''' + url_pas(name) + '''">(''' + get_lang(conn, '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 easy_minify(conn, flask.render_template(skin_check(conn),
  30. imp = [name, await wiki_set(), await wiki_custom(conn), wiki_css(['(' + sub + ')', 0])],
  31. data = div + plus,
  32. menu = menu
  33. ))