2
0

topic_list.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. from .tool.func import *
  2. 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), load_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 = load_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 = load_lang('agreed_discussion')
  15. else:
  16. sub = load_lang('discussion_list')
  17. menu = [['w/' + url_pas(name), load_lang('document')]]
  18. plus = '''
  19. <a href="/topic/''' + url_pas(name) + '?tool=close">(' + load_lang('closed_discussion') + ''')</a>
  20. <a href="/topic/''' + url_pas(name) + '?tool=agree">(' + load_lang('agreed_discussion') + ''')</a>
  21. <hr class="main_hr">
  22. <a href="/thread/0/''' + url_pas(name) + '''">(''' + load_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. curs.execute(db_change("select id from topic where code = ? order by id + 0 desc limit 1"), [data[0]])
  27. t_data = curs.fetchall()
  28. div += '''
  29. <h2><a href="/thread/''' + data[0] + '">' + data[0] + '. ' + html.escape(data[1]) + '''</a></h2>
  30. <div class="topic_pre" id="opennamu_thread_''' + data[0] + '''"></div>
  31. <div class="topic_back_pre" id="opennamu_thread_back_''' + data[0] + '''"></div>
  32. <!-- JS : opennamu_do_thread_make -->
  33. '''
  34. if div == '':
  35. plus = re.sub(r'^<br>', '', plus)
  36. return easy_minify(flask.render_template(skin_check(),
  37. imp = [name, wiki_set(), wiki_custom(), wiki_css(['(' + sub + ')', 0])],
  38. data = div + plus,
  39. menu = menu
  40. ))