Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -302,6 +302,13 @@ def analyze_face(input_data):
|
|
302 |
_, buffer = cv2.imencode('.png', frame_rgb)
|
303 |
profile_image_base64 = base64.b64encode(buffer).decode('utf-8')
|
304 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
305 |
# Use global patient details
|
306 |
global current_patient_details
|
307 |
health_card_html = build_health_card(
|
@@ -311,39 +318,11 @@ def analyze_face(input_data):
|
|
311 |
current_patient_details['name'],
|
312 |
current_patient_details['age'],
|
313 |
current_patient_details['gender'],
|
314 |
-
current_patient_details['id']
|
|
|
315 |
)
|
316 |
|
317 |
-
|
318 |
-
pdf_filename = f"Health_Report_{datetime.now().strftime('%Y-%m-%d_%H-%M-%S')}.pdf"
|
319 |
-
pdf_result, pdf_filepath = save_results_to_pdf(test_results, pdf_filename)
|
320 |
-
|
321 |
-
if pdf_filepath:
|
322 |
-
# Copy the PDF to a temporary directory for Gradio to serve it
|
323 |
-
temp_pdf_path = "/tmp/" + os.path.basename(pdf_filepath)
|
324 |
-
shutil.copy(pdf_filepath, temp_pdf_path)
|
325 |
-
|
326 |
-
return health_card_html, temp_pdf_path
|
327 |
-
|
328 |
-
|
329 |
-
# Modified route_inputs function
|
330 |
-
def route_inputs(mode, image, video, patient_name, patient_age, patient_gender, patient_id):
|
331 |
-
if mode == "Image" and image is None:
|
332 |
-
return "<div style='color:red;'>⚠️ Error: No image provided.</div>", None
|
333 |
-
if mode == "Video" and video is None:
|
334 |
-
return "<div style='color:red;'>⚠️ Error: No video provided.</div>", None
|
335 |
-
|
336 |
-
# Store patient details globally for use in analyze_face
|
337 |
-
global current_patient_details
|
338 |
-
current_patient_details = {
|
339 |
-
'name': patient_name,
|
340 |
-
'age': patient_age,
|
341 |
-
'gender': patient_gender,
|
342 |
-
'id': patient_id
|
343 |
-
}
|
344 |
-
|
345 |
-
health_card_html, pdf_file_path = analyze_face(image if mode == "Image" else video)
|
346 |
-
return health_card_html, pdf_file_path
|
347 |
|
348 |
|
349 |
# Create Gradio interface
|
|
|
302 |
_, buffer = cv2.imencode('.png', frame_rgb)
|
303 |
profile_image_base64 = base64.b64encode(buffer).decode('utf-8')
|
304 |
|
305 |
+
# Create a temporary file path for the PDF
|
306 |
+
pdf_filename = f"Health_Report_{datetime.now().strftime('%Y-%m-%d_%H-%M-%S')}.pdf"
|
307 |
+
pdf_filepath = f"/tmp/{pdf_filename}"
|
308 |
+
|
309 |
+
# Save the PDF
|
310 |
+
pdf_result, _ = save_results_to_pdf(test_results, pdf_filepath)
|
311 |
+
|
312 |
# Use global patient details
|
313 |
global current_patient_details
|
314 |
health_card_html = build_health_card(
|
|
|
318 |
current_patient_details['name'],
|
319 |
current_patient_details['age'],
|
320 |
current_patient_details['gender'],
|
321 |
+
current_patient_details['id'],
|
322 |
+
pdf_filepath=pdf_filepath
|
323 |
)
|
324 |
|
325 |
+
return health_card_html, pdf_filepath
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
326 |
|
327 |
|
328 |
# Create Gradio interface
|