civerson916 commited on
Commit
9dfafa9
·
verified ·
1 Parent(s): d11972c

Update app.py

Browse files

ready to attempt all questions again

Files changed (1) hide show
  1. app.py +46 -46
app.py CHANGED
@@ -265,8 +265,8 @@ def run_and_submit_all( profile: gr.OAuthProfile | None):
265
  if item.get("file_name"):
266
  # question_text = f"{question_text} Here is the file: https://agents-course-unit4-scoring.hf.space/files/{item.get('task_id')}"
267
  question_text = f"{question_text} Here is the file: files/{item.get('task_id')}"
268
- else:
269
- continue
270
  submitted_answer = agent(question_text)
271
  answers_payload.append({"task_id": task_id, "submitted_answer": submitted_answer})
272
  results_log.append({"Task ID": task_id, "Question": question_text, "Submitted Answer": submitted_answer})
@@ -283,52 +283,52 @@ def run_and_submit_all( profile: gr.OAuthProfile | None):
283
  return "Questions parsed.", pd.DataFrame(results_log)
284
 
285
  # 4. Prepare Submission
286
- # submission_data = {"username": username.strip(), "agent_code": agent_code, "answers": answers_payload}
287
- # status_update = f"Agent finished. Submitting {len(answers_payload)} answers for user '{username}'..."
288
- # print(status_update)
289
 
290
  # 5. Submit
291
- # print(f"Submitting {len(answers_payload)} answers to: {submit_url}")
292
- # try:
293
- # response = requests.post(submit_url, json=submission_data, timeout=60)
294
- # response.raise_for_status()
295
- # result_data = response.json()
296
- # final_status = (
297
- # f"Submission Successful!\n"
298
- # f"User: {result_data.get('username')}\n"
299
- # f"Overall Score: {result_data.get('score', 'N/A')}% "
300
- # f"({result_data.get('correct_count', '?')}/{result_data.get('total_attempted', '?')} correct)\n"
301
- # f"Message: {result_data.get('message', 'No message received.')}"
302
- # )
303
- # print("Submission successful.")
304
- # results_df = pd.DataFrame(results_log)
305
- # return final_status, results_df
306
- # except requests.exceptions.HTTPError as e:
307
- # error_detail = f"Server responded with status {e.response.status_code}."
308
- # try:
309
- # error_json = e.response.json()
310
- # error_detail += f" Detail: {error_json.get('detail', e.response.text)}"
311
- # except requests.exceptions.JSONDecodeError:
312
- # error_detail += f" Response: {e.response.text[:500]}"
313
- # status_message = f"Submission Failed: {error_detail}"
314
- # print(status_message)
315
- # results_df = pd.DataFrame(results_log)
316
- # return status_message, results_df
317
- # except requests.exceptions.Timeout:
318
- # status_message = "Submission Failed: The request timed out."
319
- # print(status_message)
320
- # results_df = pd.DataFrame(results_log)
321
- # return status_message, results_df
322
- # except requests.exceptions.RequestException as e:
323
- # status_message = f"Submission Failed: Network error - {e}"
324
- # print(status_message)
325
- # results_df = pd.DataFrame(results_log)
326
- # return status_message, results_df
327
- # except Exception as e:
328
- # status_message = f"An unexpected error occurred during submission: {e}"
329
- # print(status_message)
330
- # results_df = pd.DataFrame(results_log)
331
- # return status_message, results_df
332
 
333
 
334
  # --- Build Gradio Interface using Blocks ---
 
265
  if item.get("file_name"):
266
  # question_text = f"{question_text} Here is the file: https://agents-course-unit4-scoring.hf.space/files/{item.get('task_id')}"
267
  question_text = f"{question_text} Here is the file: files/{item.get('task_id')}"
268
+ # else:
269
+ # continue
270
  submitted_answer = agent(question_text)
271
  answers_payload.append({"task_id": task_id, "submitted_answer": submitted_answer})
272
  results_log.append({"Task ID": task_id, "Question": question_text, "Submitted Answer": submitted_answer})
 
283
  return "Questions parsed.", pd.DataFrame(results_log)
284
 
285
  # 4. Prepare Submission
286
+ submission_data = {"username": username.strip(), "agent_code": agent_code, "answers": answers_payload}
287
+ status_update = f"Agent finished. Submitting {len(answers_payload)} answers for user '{username}'..."
288
+ print(status_update)
289
 
290
  # 5. Submit
291
+ print(f"Submitting {len(answers_payload)} answers to: {submit_url}")
292
+ try:
293
+ response = requests.post(submit_url, json=submission_data, timeout=60)
294
+ response.raise_for_status()
295
+ result_data = response.json()
296
+ final_status = (
297
+ f"Submission Successful!\n"
298
+ f"User: {result_data.get('username')}\n"
299
+ f"Overall Score: {result_data.get('score', 'N/A')}% "
300
+ f"({result_data.get('correct_count', '?')}/{result_data.get('total_attempted', '?')} correct)\n"
301
+ f"Message: {result_data.get('message', 'No message received.')}"
302
+ )
303
+ print("Submission successful.")
304
+ results_df = pd.DataFrame(results_log)
305
+ return final_status, results_df
306
+ except requests.exceptions.HTTPError as e:
307
+ error_detail = f"Server responded with status {e.response.status_code}."
308
+ try:
309
+ error_json = e.response.json()
310
+ error_detail += f" Detail: {error_json.get('detail', e.response.text)}"
311
+ except requests.exceptions.JSONDecodeError:
312
+ error_detail += f" Response: {e.response.text[:500]}"
313
+ status_message = f"Submission Failed: {error_detail}"
314
+ print(status_message)
315
+ results_df = pd.DataFrame(results_log)
316
+ return status_message, results_df
317
+ except requests.exceptions.Timeout:
318
+ status_message = "Submission Failed: The request timed out."
319
+ print(status_message)
320
+ results_df = pd.DataFrame(results_log)
321
+ return status_message, results_df
322
+ except requests.exceptions.RequestException as e:
323
+ status_message = f"Submission Failed: Network error - {e}"
324
+ print(status_message)
325
+ results_df = pd.DataFrame(results_log)
326
+ return status_message, results_df
327
+ except Exception as e:
328
+ status_message = f"An unexpected error occurred during submission: {e}"
329
+ print(status_message)
330
+ results_df = pd.DataFrame(results_log)
331
+ return status_message, results_df
332
 
333
 
334
  # --- Build Gradio Interface using Blocks ---