from dataclasses import dataclass from pathlib import Path @dataclass(frozen=True) class TrackReference: """A track path referenced by a Serato crate.""" source: Path path: Path filename: str @dataclass(frozen=True) class ReferenceResult: """The filename-level reconciliation result for a crate reference.""" reference: TrackReference exists_by_filename: bool def as_row(self) -> dict: return { "crate": str(self.reference.source), "serato_path": str(self.reference.path), "filename": self.reference.filename, "exists_by_filename": self.exists_by_filename, }