Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -86,15 +86,49 @@ def run_and_submit_all(profile: gr.OAuthProfile | None):
|
|
86 |
status_update = f"Agent finished. Submitting {len(answers_payload)} answers for user '{username}'..."
|
87 |
print(status_update)
|
88 |
|
89 |
-
# 5.
|
90 |
-
print(f"
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
|
99 |
|
100 |
# --- Build Gradio Interface using Blocks ---
|
|
|
86 |
status_update = f"Agent finished. Submitting {len(answers_payload)} answers for user '{username}'..."
|
87 |
print(status_update)
|
88 |
|
89 |
+
# 5. Submit
|
90 |
+
print(f"Submitting {len(answers_payload)} answers to: {submit_url}")
|
91 |
+
try:
|
92 |
+
response = requests.post(submit_url, json=submission_data, timeout=60)
|
93 |
+
response.raise_for_status()
|
94 |
+
result_data = response.json()
|
95 |
+
final_status = (
|
96 |
+
f"Submission Successful!\n"
|
97 |
+
f"User: {result_data.get('username')}\n"
|
98 |
+
f"Overall Score: {result_data.get('score', 'N/A')}% "
|
99 |
+
f"({result_data.get('correct_count', '?')}/{result_data.get('total_attempted', '?')} correct)\n"
|
100 |
+
f"Message: {result_data.get('message', 'No message received.')}"
|
101 |
+
)
|
102 |
+
print("Submission successful.")
|
103 |
+
results_df = pd.DataFrame(results_log)
|
104 |
+
return final_status, results_df
|
105 |
+
except requests.exceptions.HTTPError as e:
|
106 |
+
error_detail = f"Server responded with status {e.response.status_code}."
|
107 |
+
try:
|
108 |
+
error_json = e.response.json()
|
109 |
+
error_detail += f" Detail: {error_json.get('detail', e.response.text)}"
|
110 |
+
except requests.exceptions.JSONDecodeError:
|
111 |
+
error_detail += f" Response: {e.response.text[:500]}"
|
112 |
+
status_message = f"Submission Failed: {error_detail}"
|
113 |
+
print(status_message)
|
114 |
+
results_df = pd.DataFrame(results_log)
|
115 |
+
return status_message, results_df
|
116 |
+
except requests.exceptions.Timeout:
|
117 |
+
status_message = "Submission Failed: The request timed out."
|
118 |
+
print(status_message)
|
119 |
+
results_df = pd.DataFrame(results_log)
|
120 |
+
return status_message, results_df
|
121 |
+
except requests.exceptions.RequestException as e:
|
122 |
+
status_message = f"Submission Failed: Network error - {e}"
|
123 |
+
print(status_message)
|
124 |
+
results_df = pd.DataFrame(results_log)
|
125 |
+
return status_message, results_df
|
126 |
+
except Exception as e:
|
127 |
+
status_message = f"An unexpected error occurred during submission: {e}"
|
128 |
+
print(status_message)
|
129 |
+
results_df = pd.DataFrame(results_log)
|
130 |
+
return status_message, results_df
|
131 |
+
|
132 |
|
133 |
|
134 |
# --- Build Gradio Interface using Blocks ---
|