Spaces:
Sleeping
Sleeping
| from pathlib import Path | |
| try: # absolute imports when installed | |
| from trackio.utils import MEDIA_DIR | |
| except ImportError: # relative imports for local execution on Spaces | |
| from utils import MEDIA_DIR | |
| class FileStorage: | |
| def get_project_media_path( | |
| project: str, | |
| run: str | None = None, | |
| step: int | None = None, | |
| filename: str | None = None, | |
| ) -> Path: | |
| if filename is not None and step is None: | |
| raise ValueError("filename requires step") | |
| if step is not None and run is None: | |
| raise ValueError("step requires run") | |
| path = MEDIA_DIR / project | |
| if run: | |
| path /= run | |
| if step is not None: | |
| path /= str(step) | |
| if filename: | |
| path /= filename | |
| return path | |
| def init_project_media_path( | |
| project: str, run: str | None = None, step: int | None = None | |
| ) -> Path: | |
| path = FileStorage.get_project_media_path(project, run, step) | |
| path.mkdir(parents=True, exist_ok=True) | |
| return path | |