Spaces:
Sleeping
Sleeping
| import httpx | |
| import tempfile | |
| import mimetypes | |
| import os | |
| DEFAULT_API_URL = "https://agents-course-unit4-scoring.hf.space" | |
| def fetch_file_content(task_id: str, temp: bool = False) -> dict: | |
| """ | |
| Downloads file content for the given task_id. | |
| Returns a dict with: | |
| - content: bytes of the file | |
| - path: filesystem path to a temp file if temp=True, else None | |
| """ | |
| url = f"{DEFAULT_API_URL}/files/{task_id}" | |
| resp = httpx.get(url, timeout=15, follow_redirects=True) | |
| resp.raise_for_status() | |
| content = resp.content | |
| result = {"content": content, "path": None} | |
| if temp: | |
| ctype = resp.headers.get("content-type", "") | |
| ext = mimetypes.guess_extension(ctype) or os.path.splitext(task_id)[1] or "" | |
| tmp = tempfile.NamedTemporaryFile(delete=False, suffix=ext) | |
| tmp.write(content) | |
| tmp.close() | |
| result["path"] = tmp.file.name | |
| print("[fetch_file_content]", result) | |
| return result | |