22 lines
465 B
Python
22 lines
465 B
Python
from dataclasses import dataclass
|
|
from enum import Enum
|
|
from pathlib import Path
|
|
from typing import Tuple
|
|
|
|
from serato_doctor.models.reference import TrackReference
|
|
|
|
|
|
class CrateKind(str, Enum):
|
|
STATIC = "static"
|
|
SMART = "smart"
|
|
UNKNOWN = "unknown"
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class Crate:
|
|
"""A Serato crate and the track references parsed from it."""
|
|
|
|
path: Path
|
|
references: Tuple[TrackReference, ...]
|
|
kind: CrateKind = CrateKind.UNKNOWN
|