Initial project baseline

This commit is contained in:
2026-07-04 02:40:45 +08:00
commit d5d8caef2f
86 changed files with 15590 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
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",
)