Browse Source

xmltv: introduce dd_progid episode format

main
Brett Langdon 2 years ago
parent
commit
f680913d93
No known key found for this signature in database GPG Key ID: 9BAD4322A65AD78B
2 changed files with 18 additions and 14 deletions
  1. +15
    -12
      src/dlhdhr/epg/program.py
  2. +3
    -2
      src/dlhdhr/epg/zap2it.py

+ 15
- 12
src/dlhdhr/epg/program.py View File

@ -1,5 +1,5 @@
import datetime import datetime
from dataclasses import dataclass
from dataclasses import dataclass, field
from xml.etree.ElementTree import Element, SubElement from xml.etree.ElementTree import Element, SubElement
from dlhdhr.dlhd import DLHDChannel from dlhdhr.dlhd import DLHDChannel
@ -17,13 +17,14 @@ class Program:
end_time: datetime.datetime end_time: datetime.datetime
title: str title: str
description: str description: str
tags: list[str]
subtitle: str | None
thumbnail: str | None
season: int | None
episode: int | None
rating: Rating | None
release_year: str | None
tags: list[str] = field(default_factory=list)
subtitle: str | None = None
thumbnail: str | None = None
season: int | None = None
episode: int | None = None
rating: Rating | None = None
release_year: str | None = None
dd_progid: str | None = None
@property @property
def duration_minutes(self) -> int: def duration_minutes(self) -> int:
@ -54,14 +55,16 @@ class Program:
if self.thumbnail: if self.thumbnail:
SubElement(programme, "icon", attrib={"src": self.thumbnail}) SubElement(programme, "icon", attrib={"src": self.thumbnail})
if self.season or self.episode:
season_id = self.season or ""
episode_id = self.episode or ""
SubElement(programme, "episode-num", attrib={"system": "xmltv_ns"}).text = f"{season_id}.{episode_id}."
if self.season and self.episode:
if self.season and self.episode: if self.season and self.episode:
SubElement(
programme, "episode-num", attrib={"system": "xmltv_ns"}
).text = f"{self.season}.{self.episode}."
SubElement( SubElement(
programme, "episode-num", attrib={"system": "onscreen"} programme, "episode-num", attrib={"system": "onscreen"}
).text = f"S{self.season} E{self.episode}" ).text = f"S{self.season} E{self.episode}"
if self.dd_progid:
SubElement(programme, "episode-num", attrib={"system": "dd_progid"}).text = self.dd_progid
if self.rating: if self.rating:
rating = SubElement(programme, "rating", attrib={"system": self.rating.system}) rating = SubElement(programme, "rating", attrib={"system": self.rating.system})


+ 3
- 2
src/dlhdhr/epg/zap2it.py View File

@ -107,8 +107,9 @@ class Zap2it:
title=evt_data["program"]["title"], title=evt_data["program"]["title"],
subtitle=evt_data["program"].get("episodeTitle") or None, subtitle=evt_data["program"].get("episodeTitle") or None,
description=evt_data["program"]["shortDesc"], description=evt_data["program"]["shortDesc"],
season=evt_data["program"]["season"],
episode=evt_data["program"]["episode"],
season=evt_data["program"]["season"] or None,
episode=evt_data["program"]["episode"] or None,
dd_progid=evt_data["program"].get("tmsId"),
tags=evt_data["tags"], tags=evt_data["tags"],
release_year=evt_data["program"]["releaseYear"], release_year=evt_data["program"]["releaseYear"],
thumbnail=f"https://zap2it.tmsimg.com/assets/{evt_data['thumbnail']}.jpg?w=165", thumbnail=f"https://zap2it.tmsimg.com/assets/{evt_data['thumbnail']}.jpg?w=165",


Loading…
Cancel
Save