Update app.py
Browse files
app.py
CHANGED
@@ -1,8 +1,9 @@
|
|
1 |
import gradio as gr
|
|
|
2 |
|
3 |
# functions
|
4 |
-
def check(answers, correct_answers,
|
5 |
-
if
|
6 |
raise gr.Error("Вы уже проверили свои ответы!")
|
7 |
|
8 |
if not all(answers):
|
@@ -13,7 +14,7 @@ def check(answers, correct_answers, user_ip):
|
|
13 |
result = "✔" if answer == correct_answer else "✖️"
|
14 |
results.append(f"{i}: {result}")
|
15 |
|
16 |
-
|
17 |
return "\n".join(results)
|
18 |
|
19 |
# css
|
@@ -35,12 +36,12 @@ with gr.Blocks(css=css, theme='YTheme/TehnoX') as vui:
|
|
35 |
with gr.Tab("Результаты"):
|
36 |
text_output = gr.Markdown("")
|
37 |
|
38 |
-
#
|
39 |
-
|
40 |
|
41 |
def on_click(*args):
|
42 |
-
|
43 |
-
return check(args, correct_answers,
|
44 |
|
45 |
text_button.click(on_click, inputs=question_blocks, outputs=[text_output], queue=False)
|
46 |
|
|
|
1 |
import gradio as gr
|
2 |
+
import uuid
|
3 |
|
4 |
# functions
|
5 |
+
def check(answers, correct_answers, session_token):
|
6 |
+
if session_token in completed_sessions:
|
7 |
raise gr.Error("Вы уже проверили свои ответы!")
|
8 |
|
9 |
if not all(answers):
|
|
|
14 |
result = "✔" if answer == correct_answer else "✖️"
|
15 |
results.append(f"{i}: {result}")
|
16 |
|
17 |
+
completed_sessions.add(session_token) # Добавляем токен сессии в список выполненных
|
18 |
return "\n".join(results)
|
19 |
|
20 |
# css
|
|
|
36 |
with gr.Tab("Результаты"):
|
37 |
text_output = gr.Markdown("")
|
38 |
|
39 |
+
# Множество токенов сессий пользователей, которые уже сделали запрос
|
40 |
+
completed_sessions = set()
|
41 |
|
42 |
def on_click(*args):
|
43 |
+
session_token = str(uuid.uuid4()) # Генерируем уникальный токен для сессии
|
44 |
+
return check(args, correct_answers, session_token)
|
45 |
|
46 |
text_button.click(on_click, inputs=question_blocks, outputs=[text_output], queue=False)
|
47 |
|