Refactor EPG into shared engine with configurable TVJ channels
Build and Publish TVJ EPG Image / build (push) Successful in 29s

This commit is contained in:
Lyncoln
2026-09-10 09:49:40 -04:00
parent e6f8b0e512
commit af59324d99
13 changed files with 348 additions and 312 deletions
+27
View File
@@ -0,0 +1,27 @@
"""Common channel and programme definitions shared by providers and writers."""
from dataclasses import dataclass
from datetime import datetime
from xml.etree.ElementTree import Element
@dataclass(frozen=True)
class Channel:
id: str
name: str
stream_url: str
provider: str = "univtec"
channel_id: str = ""
feed_url: str = "https://insight-api-shared.univtec.com/interface/epg"
tenant: str = "rjr"
icon: str = ""
group: str = "General"
@dataclass(frozen=True)
class Programme:
start: datetime
stop: datetime
title: str
description: str
# Optional XMLTV elements normalized by the provider (category, rating, etc.).
metadata: tuple[Element, ...] = ()