SatyamSinghal commited on
Commit
89839f0
·
verified ·
1 Parent(s): b543336

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -1
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 data.items():
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()