Initial project baseline
This commit is contained in:
@@ -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",
|
||||
)
|
||||
Reference in New Issue
Block a user