2
0

vote_end.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from .tool.func import *
  2. async def vote_end(num = 1):
  3. num = str(num)
  4. with get_db_connect() as conn:
  5. curs = conn.cursor()
  6. curs.execute(db_change('select name, subject, data, type from vote where id = ? and user = ""'), [num])
  7. data_list = curs.fetchall()
  8. if not data_list:
  9. return redirect(conn, '/vote')
  10. data = ''
  11. if data_list[0][3] == 'open' or data_list[0][3] == 'n_open':
  12. data += '<a href="/vote/close/' + num + '">(' + await get_lang('close_vote') + ')</a>'
  13. else:
  14. data += '<a href="/vote/close/' + num + '">(' + await get_lang('re_open_vote') + ')</a>'
  15. curs.execute(db_change('select data from vote where id = ? and name = "end_date" and type = "option"'), [num])
  16. db_data = curs.fetchall()
  17. time_limit = ''
  18. if db_data:
  19. time_limit = db_data[0][0]
  20. data += '<h2>' + data_list[0][0] + '</h2>'
  21. data += '<b>' + data_list[0][1] + '</b><hr class="main_hr">' if data_list[0][1] != '' else ''
  22. data += '<span>~ ' + time_limit + '</span><hr class="main_hr">' if time_limit != '' else ''
  23. vote_data = re.findall(r'([^\n]+)', data_list[0][2].replace('\r', ''))
  24. for i in range(0, len(vote_data)):
  25. data += '<h2>' + vote_data[i] + '</h2>'
  26. data += '<ul>'
  27. curs.execute(db_change('select user from vote where id = ? and user != "" and data = ?'), [num, str(i)])
  28. data_list_2 = curs.fetchall()
  29. if data_list[0][3] == 'open' or data_list[0][3] == 'close':
  30. all_ip = await ip_pas([j[0] for j in data_list_2])
  31. for j in data_list_2:
  32. data += '<li>' + all_ip[j[0]] + '</li>'
  33. data += '<li>' + await get_lang('result') + ' : ' + str(len(data_list_2)) + '</li>'
  34. data += '</ul>'
  35. return easy_minify(flask.render_template(await skin_check(),
  36. imp = [await get_lang('result_vote'), await wiki_set(), await wiki_custom(), wiki_css(['(' + num + ')', 0])],
  37. data = data,
  38. menu = [['vote', await get_lang('return')]]
  39. ))