Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -359,16 +359,28 @@ def generate_pdf_report(result, charts=None, table_data=None, metadata=None, key
|
|
359 |
def validate_analyst_output(analyst_output):
|
360 |
if not analyst_output:
|
361 |
st.warning("No data available for analysis.")
|
|
|
362 |
return None
|
363 |
-
|
|
|
364 |
st.warning("Analyst output must be a list of dictionaries.")
|
|
|
365 |
return None
|
|
|
366 |
required_keys = {'Category', 'Values'}
|
367 |
-
|
368 |
-
|
369 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
370 |
return analyst_output
|
371 |
|
|
|
372 |
# Visualization and Table Display
|
373 |
def create_visualizations(analyst_output):
|
374 |
chart_paths = []
|
|
|
359 |
def validate_analyst_output(analyst_output):
|
360 |
if not analyst_output:
|
361 |
st.warning("No data available for analysis.")
|
362 |
+
logging.warning("Validation Failed: Analyst output is empty.")
|
363 |
return None
|
364 |
+
|
365 |
+
if not isinstance(analyst_output, list):
|
366 |
st.warning("Analyst output must be a list of dictionaries.")
|
367 |
+
logging.warning(f"Validation Failed: Analyst output is not a list. Type: {type(analyst_output)}")
|
368 |
return None
|
369 |
+
|
370 |
required_keys = {'Category', 'Values'}
|
371 |
+
for idx, item in enumerate(analyst_output):
|
372 |
+
if not isinstance(item, dict):
|
373 |
+
st.warning(f"Item at index {idx} is not a dictionary.")
|
374 |
+
logging.warning(f"Validation Failed: Item {idx} is not a dictionary. Item: {item}")
|
375 |
+
return None
|
376 |
+
if not required_keys.issubset(item.keys()):
|
377 |
+
st.warning(f"Item at index {idx} missing keys: {required_keys - set(item.keys())}")
|
378 |
+
logging.warning(f"Validation Failed: Item {idx} missing keys: {required_keys - set(item.keys())}")
|
379 |
+
return None
|
380 |
+
|
381 |
return analyst_output
|
382 |
|
383 |
+
|
384 |
# Visualization and Table Display
|
385 |
def create_visualizations(analyst_output):
|
386 |
chart_paths = []
|