Add configurable library reference roots

This commit is contained in:
Philip Guzman
2026-06-30 17:20:08 -07:00
parent 4e85b5912b
commit ec671079ba
9 changed files with 211 additions and 38 deletions
+25
View File
@@ -0,0 +1,25 @@
from dataclasses import dataclass
from pathlib import Path
from typing import Iterable, Tuple
@dataclass(frozen=True)
class ScanConfig:
"""Read-only paths used for one library scan."""
serato: Path
music: Path
out: Path
report: Path
reference_roots: Tuple[Path, ...] = ()
@classmethod
def build(
cls,
serato: Path,
music: Path,
out: Path,
report: Path,
reference_roots: Iterable[Path] = (),
) -> "ScanConfig":
return cls(serato, music, out, report, tuple(reference_roots))