Spaces:
Paused
Paused
Download sensorflow/rotr/store.py from whassan/SensorflowStudio: direct link, hf CLI and curl.
- Browser
- Download file 1.25 kB
-
https://huggingface.co/spaces/whassan/SensorflowStudio/resolve/main/sensorflow/rotr/store.py
- Command line
-
hf download hf://spaces/whassan/SensorflowStudio/sensorflow/rotr/store.py
-
curl -L -o store.py https://huggingface.co/spaces/whassan/SensorflowStudio/resolve/main/sensorflow/rotr/store.py
1.25 kB
| """File persistence under runs/rotr/ (platform convention: request-scoped | |
| FastAPI over JSON files; no services). `set_rotr_root` is the test hook, | |
| mirroring set_safety_root / set_nextgen_root etc.""" | |
| from __future__ import annotations | |
| import json | |
| import os | |
| import threading | |
| from typing import Any, Dict, List, Optional | |
| _ROOT = os.path.join("runs", "rotr") | |
| _ROOT_LOCK = threading.Lock() | |
| def rotr_root() -> str: | |
| return _ROOT | |
| def set_rotr_root(path: str) -> None: | |
| global _ROOT | |
| with _ROOT_LOCK: | |
| _ROOT = str(path) | |
| def _path(*parts: str) -> str: | |
| return os.path.join(rotr_root(), *parts) | |
| def write_json(obj: Any, *parts: str) -> str: | |
| path = _path(*parts) | |
| os.makedirs(os.path.dirname(path), exist_ok=True) | |
| with open(path, "w") as f: | |
| json.dump(obj, f, indent=1, default=str) | |
| return path | |
| def read_json(*parts: str) -> Optional[Dict]: | |
| path = _path(*parts) | |
| if not os.path.exists(path): | |
| return None | |
| with open(path) as f: | |
| return json.load(f) | |
| def list_dir(*parts: str) -> List[str]: | |
| path = _path(*parts) | |
| if not os.path.isdir(path): | |
| return [] | |
| return sorted(os.listdir(path)) | |
| def exists(*parts: str) -> bool: | |
| return os.path.exists(_path(*parts)) | |