2
0

vote_end.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from .tool.func import *
  2. 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('/vote')
  10. curs.execute(db_change('select data from vote where id = ? and name = "end_date" and type = "option"'), [num])
  11. db_data = curs.fetchall()
  12. time_limit = ''
  13. if db_data:
  14. time_limit = db_data[0][0]
  15. data = '<h2>' + data_list[0][0] + '</h2>'
  16. data += '<b>' + data_list[0][1] + '</b><hr class="main_hr">' if data_list[0][1] != '' else ''
  17. data += '<span>~ ' + time_limit + '</span><hr class="main_hr">' if time_limit != '' else ''
  18. if admin_check() == 1:
  19. if data_list[0][3] == 'open' or data_list[0][3] == 'n_open':
  20. data += '<a href="/vote/close/' + num + '">(' + load_lang('close_vote') + ')</a>'
  21. else:
  22. data += '<a href="/vote/close/' + num + '">(' + load_lang('re_open_vote') + ')</a>'
  23. vote_data = re.findall(r'([^\n]+)', data_list[0][2].replace('\r\n', '\n'))
  24. for i in range(0, len(vote_data)):
  25. data += '<h2>' + vote_data[i] + '</h2>'
  26. data += '<ul class="inside_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 = 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>' + load_lang('result') + ' : ' + str(len(data_list_2)) + '</li>'
  34. data += '</ul>'
  35. return easy_minify(flask.render_template(skin_check(),
  36. imp = [load_lang('result_vote'), wiki_set(), wiki_custom(), wiki_css([0, 0])],
  37. data = data,
  38. menu = [['vote', load_lang('return')]]
  39. ))