Add multi-library Jellyfin configuration

This commit is contained in:
Sleeps
2026-10-06 17:45:47 +01:00
parent 56875156fc
commit 5c38b9355c
+13
View File
@@ -18,6 +18,15 @@ def _csv_env(name: str, default: str = "") -> tuple[str, ...]:
)
def _list_env(name: str, default: str = "") -> tuple[str, ...]:
value = os.getenv(name, default)
return tuple(
part.strip()
for part in value.split(",")
if part.strip()
)
@dataclass(frozen=True)
class Settings:
meili_url: str = os.getenv("MEILI_URL", "http://127.0.0.1:7700").rstrip("/")
@@ -75,6 +84,10 @@ class Settings:
jellyfin_url: str = os.getenv("JELLYFIN_URL", "").rstrip("/")
jellyfin_api_key: str = os.getenv("JELLYFIN_API_KEY", "")
jellyfin_library: str = os.getenv("JELLYFIN_LIBRARY", "")
jellyfin_libraries: tuple[str, ...] = _list_env("JELLYFIN_LIBRARIES")
jellyfin_exclude_libraries: tuple[str, ...] = _list_env(
"JELLYFIN_EXCLUDE_LIBRARIES"
)
jellyfin_trickplay_width: int = int(os.getenv("JELLYFIN_TRICKPLAY_WIDTH", "320"))
jellyfin_fallback_interval_seconds: float = float(
os.getenv("JELLYFIN_FALLBACK_INTERVAL_SECONDS", "10")