from __future__ import annotations from pathlib import Path from .schemas import JobPaths class Storage: def __init__(self, base_dir: Path) -> None: self.base_dir = base_dir self.base_dir.mkdir(parents=True, exist_ok=True) def prepare_job_dirs(self, job_id: str) -> JobPaths: root = self.base_dir / job_id input_dir = root / "input" output_dir = root / "output" input_dir.mkdir(parents=True, exist_ok=True) output_dir.mkdir(parents=True, exist_ok=True) return JobPaths( root=root, input_dir=input_dir, output_dir=output_dir, mask_path=input_dir / "mask.png", excel_path=input_dir / "names.xlsx", config_path=root / "config.json", )