jjvelezo commited on
Commit
7939a0c
·
verified ·
1 Parent(s): 54b69c4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -9
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. Print Results (not submit)
90
- print(f"Agent finished. Results (not submitting):")
91
- for result in results_log:
92
- print(f"Task ID: {result['Task ID']}")
93
- print(f"Question: {result['Question']}")
94
- print(f"Submitted Answer: {result['Submitted Answer']}")
95
-
96
- results_df = pd.DataFrame(results_log)
97
- return "Results printed instead of submitted.", results_df
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 ---