Update app.py
Browse files
app.py
CHANGED
@@ -79,13 +79,28 @@ def format_response(data):
|
|
79 |
if not data:
|
80 |
return "No data available for this query."
|
81 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
if isinstance(data, dict):
|
|
|
|
|
83 |
formatted_response = "### Insights:\n\n"
|
84 |
-
for key, value in
|
85 |
formatted_response += f"**{key.capitalize()}**: {value}\n\n"
|
86 |
elif isinstance(data, list):
|
|
|
87 |
formatted_response = "### Insights:\n\n" + "\n".join(f"{idx+1}. {item}" for idx, item in enumerate(data))
|
88 |
else:
|
|
|
89 |
formatted_response = f"### Key Insights:\n\n{data}"
|
90 |
|
91 |
return formatted_response.strip()
|
|
|
79 |
if not data:
|
80 |
return "No data available for this query."
|
81 |
|
82 |
+
# Handle nested dictionaries
|
83 |
+
def flatten_dict(d, parent_key='', sep=': '):
|
84 |
+
items = []
|
85 |
+
for k, v in d.items():
|
86 |
+
new_key = f"{parent_key}{sep}{k}" if parent_key else k
|
87 |
+
if isinstance(v, dict):
|
88 |
+
items.extend(flatten_dict(v, new_key, sep=sep).items())
|
89 |
+
else:
|
90 |
+
items.append((new_key, v))
|
91 |
+
return dict(items)
|
92 |
+
|
93 |
if isinstance(data, dict):
|
94 |
+
# Flatten nested dictionaries and format the result
|
95 |
+
flattened_data = flatten_dict(data)
|
96 |
formatted_response = "### Insights:\n\n"
|
97 |
+
for key, value in flattened_data.items():
|
98 |
formatted_response += f"**{key.capitalize()}**: {value}\n\n"
|
99 |
elif isinstance(data, list):
|
100 |
+
# Handle list response
|
101 |
formatted_response = "### Insights:\n\n" + "\n".join(f"{idx+1}. {item}" for idx, item in enumerate(data))
|
102 |
else:
|
103 |
+
# Handle simple string or non-dict response
|
104 |
formatted_response = f"### Key Insights:\n\n{data}"
|
105 |
|
106 |
return formatted_response.strip()
|