Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| """ | |
| Utility functions for RAG system. | |
| Currently unused but preserved for potential future use. | |
| """ | |
| import logging | |
| import requests | |
| from typing import Optional, Dict | |
| def safe_get_json(url: str) -> Optional[Dict]: | |
| """ | |
| Safely fetch JSON from a URL with error handling. | |
| Args: | |
| url: URL to fetch JSON from | |
| Returns: | |
| JSON dict if successful, None otherwise | |
| """ | |
| try: | |
| res = requests.get(url, timeout=10) | |
| res.raise_for_status() | |
| return res.json() | |
| except Exception as e: | |
| logging.error(f"Error fetching {url}: {e}") | |
| return None | |
| def extract_text_from_json(json_data: Dict) -> str: | |
| """ | |
| Extract text from JSON data structure. | |
| Args: | |
| json_data: JSON dict with nested structure | |
| Returns: | |
| Concatenated text from specified fields | |
| """ | |
| if not json_data: | |
| return "" | |
| fields = [ | |
| "title_info_primary_tsi", | |
| "abstract_tsi", | |
| "subject_geographic_sim", | |
| "genre_basic_ssim", | |
| "genre_specific_ssim", | |
| "date_tsim", | |
| ] | |
| parts = [] | |
| for field in fields: | |
| if field in json_data.get("data", {}).get("attributes", {}): | |
| val = json_data["data"]["attributes"][field] | |
| if val: | |
| parts.append(str(val)) | |
| return " ".join(parts) if parts else "No content available" | |