| import json | |
| def extract_rows(payload: dict): | |
| """ | |
| datasets-server responses typically contain rows under: | |
| - payload["rows"] with each row having "row" dict | |
| We'll normalize into list[dict]. | |
| """ | |
| rows = [] | |
| for item in payload.get("rows", []): | |
| if isinstance(item, dict) and "row" in item: | |
| rows.append(item["row"]) | |
| elif isinstance(item, dict): | |
| rows.append(item) | |
| return rows | |
| def pretty_json(x): | |
| try: | |
| return json.dumps(x, indent=2, ensure_ascii=False) | |
| except Exception: | |
| return str(x) | |
| def safe_payload_to_obj(payload_json: str): | |
| try: | |
| return json.loads(payload_json) if isinstance(payload_json, str) else payload_json | |
| except Exception: | |
| return {"_raw": payload_json} | |