39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
"""Filesystem release aggregates — what the user owns on disk.
|
|
|
|
This bounded context is intentionally separated from
|
|
``alfred.domain.tv_shows`` / ``alfred.domain.movies`` (TMDB identity).
|
|
A :class:`SeriesRelease` describes the physical files on disk for one
|
|
show; a :class:`TVShow` describes the work as catalogued by TMDB. The
|
|
two are linked by :class:`~alfred.domain.shared.value_objects.TmdbId`
|
|
in the persistence layer, never by direct reference.
|
|
|
|
Not to be confused with ``alfred.domain.release`` (singular) which
|
|
parses release **names** (strings → tokens). The two packages may be
|
|
merged later; for now they coexist as separate concerns.
|
|
"""
|
|
|
|
from .builders import SeasonReleaseBuilder, SeriesReleaseBuilder
|
|
from .entities import (
|
|
EpisodeRelease,
|
|
MovieRelease,
|
|
SeasonRelease,
|
|
SeriesRelease,
|
|
TrackProfile,
|
|
)
|
|
from .repositories import MovieReleaseRepository, SeriesReleaseRepository
|
|
from .value_objects import EpisodeRange, ReleaseMode
|
|
|
|
__all__ = [
|
|
"EpisodeRange",
|
|
"EpisodeRelease",
|
|
"MovieRelease",
|
|
"MovieReleaseRepository",
|
|
"ReleaseMode",
|
|
"SeasonRelease",
|
|
"SeasonReleaseBuilder",
|
|
"SeriesRelease",
|
|
"SeriesReleaseBuilder",
|
|
"SeriesReleaseRepository",
|
|
"TrackProfile",
|
|
]
|