23 lines
506 B
Python
23 lines
506 B
Python
from dataclasses import dataclass
|
|
from pathlib import Path
|
|
from typing import Optional, Tuple
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class DatabaseTrack:
|
|
"""Read-only metadata extracted from one database V2 track record."""
|
|
|
|
path: Path
|
|
filename: str
|
|
title: Optional[str] = None
|
|
artist: Optional[str] = None
|
|
album: Optional[str] = None
|
|
genre: Optional[str] = None
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class SeratoDatabase:
|
|
path: Path
|
|
version: Optional[str]
|
|
tracks: Tuple[DatabaseTrack, ...]
|