…lines 1–11 unchanged (11 lines)
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13# General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with yle-dl. If not, see <https://www.gnu.org/licenses/>.
17
18from typing import List, Optional
19from datetime import datetime
20
21from dataclasses import dataclass
22from .streamflavor import StreamFlavor
23from .subtitles import Subtitle
24
25
26@dataclass(frozen=True)
27class AreenaApiProgramInfo:
28 media_id: str
29 title: str
30 episode_title: str
31 description: Optional[str]
32 flavors: List[StreamFlavor]
33 thumbnail: Optional[str]
34 subtitles: List[Subtitle]
35 duration_seconds: Optional[int]
36 available_at_region: str
37 publish_timestamp: Optional[datetime]
38 expiration_timestamp: Optional[datetime]
39 pending: bool
40 expired: bool
…lines 41–59 unchanged (19 lines)