Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -65,17 +65,42 @@ def json_to_table(obj):
|
|
| 65 |
|
| 66 |
|
| 67 |
def to_table_from_kys(kys_json):
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
try:
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
if not
|
|
|
|
|
|
|
|
|
|
|
|
|
| 73 |
return pd.DataFrame()
|
| 74 |
-
|
| 75 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
return pd.DataFrame()
|
| 77 |
|
| 78 |
|
|
|
|
| 79 |
def search_workflow(school_name, state_name, search_key, use_search, use_kys):
|
| 80 |
out = {"kys": None, "search": None, "suggestions": []}
|
| 81 |
payload_text = f"{school_name or ''} {state_name or ''} UDISE code".strip()
|
|
|
|
| 65 |
|
| 66 |
|
| 67 |
def to_table_from_kys(kys_json):
|
| 68 |
+
"""
|
| 69 |
+
Convert KYS JSON to a simplified pandas DataFrame
|
| 70 |
+
showing only a few important fields from content[].
|
| 71 |
+
"""
|
| 72 |
try:
|
| 73 |
+
# Step 1: Extract the list under data.content
|
| 74 |
+
items = (kys_json.get("data", {}) or {}).get("data", {})
|
| 75 |
+
content = items.get("content") if isinstance(items, dict) else None
|
| 76 |
+
if not content:
|
| 77 |
+
# fallback if structure slightly differs
|
| 78 |
+
content = kys_json.get("content") or []
|
| 79 |
+
|
| 80 |
+
if not isinstance(content, list) or not content:
|
| 81 |
return pd.DataFrame()
|
| 82 |
+
|
| 83 |
+
# Step 2: Filter only required columns
|
| 84 |
+
filtered = []
|
| 85 |
+
for rec in content:
|
| 86 |
+
filtered.append({
|
| 87 |
+
"School Name": rec.get("schoolName"),
|
| 88 |
+
"School ID": rec.get("schoolId"),
|
| 89 |
+
"Pincode": rec.get("pincode"),
|
| 90 |
+
"State": rec.get("stateName"),
|
| 91 |
+
"District": rec.get("districtName"),
|
| 92 |
+
"Management Type": rec.get("schMgmtType")
|
| 93 |
+
})
|
| 94 |
+
|
| 95 |
+
# Step 3: Convert to DataFrame
|
| 96 |
+
return pd.DataFrame(filtered)
|
| 97 |
+
|
| 98 |
+
except Exception as e:
|
| 99 |
+
print("Error parsing KYS JSON:", e)
|
| 100 |
return pd.DataFrame()
|
| 101 |
|
| 102 |
|
| 103 |
+
|
| 104 |
def search_workflow(school_name, state_name, search_key, use_search, use_kys):
|
| 105 |
out = {"kys": None, "search": None, "suggestions": []}
|
| 106 |
payload_text = f"{school_name or ''} {state_name or ''} UDISE code".strip()
|