vote_list.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from .tool.func import *
  2. async def vote_list(list_type = 'normal', num = 1):
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. sql_num = (num * 50 - 50) if num * 50 > 0 else 0
  6. data = ''
  7. if list_type == 'normal':
  8. data += '<a href="/vote/list/close">(' + await get_lang('close_vote_list') + ')</a>'
  9. sub = 0
  10. curs.execute(db_change('select name, id, type from vote where type = "open" or type = "n_open" limit ?, 50'), [sql_num])
  11. else:
  12. data += '<a href="/vote">(' + await get_lang('open_vote_list') + ')</a>'
  13. sub = '(' + await get_lang('closed') + ')'
  14. curs.execute(db_change('select name, id, type from vote where type = "close" or type = "n_close" limit ?, 50'), [sql_num])
  15. data += '<ul>'
  16. data_list = curs.fetchall()
  17. for i in data_list:
  18. if list_type == 'normal':
  19. open_select = await get_lang('open_vote') if i[2] == 'open' else await get_lang('not_open_vote')
  20. else:
  21. open_select = await get_lang('open_vote') if i[2] == 'close' else await get_lang('not_open_vote')
  22. data += '<li><a href="/vote/' + i[1] + '">' + i[1] + '. ' + html.escape(i[0]) + '</a> (' + open_select + ')</li>'
  23. data += '</ul>'
  24. menu = []
  25. if list_type == 'normal':
  26. menu = [["vote/add", await get_lang('add_vote')]] if await acl_check('', 'vote') != 1 else []
  27. data += await get_next_page_bottom('/vote/list/{}', num, data_list)
  28. else:
  29. data += await get_next_page_bottom('/vote/list/close/{}', num, data_list)
  30. return easy_minify(flask.render_template(await skin_check(),
  31. imp = [await get_lang('vote_list'), await wiki_set(), await wiki_custom(), wiki_css([sub, 0])],
  32. data = data,
  33. menu = [['other', await get_lang('return')]] + menu
  34. ))