from .tool.func import *
async def vote_end(num = 1):
num = str(num)
with get_db_connect() as conn:
curs = conn.cursor()
curs.execute(db_change('select name, subject, data, type from vote where id = ? and user = ""'), [num])
data_list = curs.fetchall()
if not data_list:
return redirect(conn, '/vote')
data = ''
if data_list[0][3] == 'open' or data_list[0][3] == 'n_open':
data += '(' + await get_lang('close_vote') + ')'
else:
data += '(' + await get_lang('re_open_vote') + ')'
curs.execute(db_change('select data from vote where id = ? and name = "end_date" and type = "option"'), [num])
db_data = curs.fetchall()
time_limit = ''
if db_data:
time_limit = db_data[0][0]
data += '
' + data_list[0][0] + '
'
data += '' + data_list[0][1] + '
' if data_list[0][1] != '' else ''
data += '~ ' + time_limit + '
' if time_limit != '' else ''
vote_data = re.findall(r'([^\n]+)', data_list[0][2].replace('\r', ''))
for i in range(0, len(vote_data)):
data += '' + vote_data[i] + '
'
data += ''
curs.execute(db_change('select user from vote where id = ? and user != "" and data = ?'), [num, str(i)])
data_list_2 = curs.fetchall()
if data_list[0][3] == 'open' or data_list[0][3] == 'close':
all_ip = await ip_pas([j[0] for j in data_list_2])
for j in data_list_2:
data += '- ' + all_ip[j[0]] + '
'
data += '- ' + await get_lang('result') + ' : ' + str(len(data_list_2)) + '
'
data += '
'
return await render_template(
await get_lang('result_vote'),
data,
'(' + num + ')',
[['vote', await get_lang('return')]]
)