Simplify plugin settings and names
This commit is contained in:
@@ -556,7 +556,7 @@ def search_animes(query: str) -> List[SeriesResult]:
|
||||
|
||||
|
||||
class AniworldPlugin(BasisPlugin):
|
||||
name = "AniWorld (aniworld.to)"
|
||||
name = "Aniworld"
|
||||
|
||||
def __init__(self) -> None:
|
||||
self._anime_results: Dict[str, SeriesResult] = {}
|
||||
|
||||
@@ -34,12 +34,6 @@ from plugin_helpers import dump_response_html, get_setting_bool, log_url, notify
|
||||
|
||||
ADDON_ID = "plugin.video.viewit"
|
||||
SETTING_BASE_URL = "einschalten_base_url"
|
||||
SETTING_INDEX_PATH = "einschalten_index_path"
|
||||
SETTING_NEW_TITLES_PATH = "einschalten_new_titles_path"
|
||||
SETTING_SEARCH_PATH = "einschalten_search_path"
|
||||
SETTING_GENRES_PATH = "einschalten_genres_path"
|
||||
SETTING_ENABLE_PLAYBACK = "einschalten_enable_playback"
|
||||
SETTING_WATCH_PATH_TEMPLATE = "einschalten_watch_path_template"
|
||||
GLOBAL_SETTING_LOG_URLS = "debug_log_urls"
|
||||
GLOBAL_SETTING_DUMP_HTML = "debug_dump_html"
|
||||
GLOBAL_SETTING_SHOW_URL_INFO = "debug_show_url_info"
|
||||
@@ -474,7 +468,7 @@ def _parse_ng_state_genres(payload: Dict[str, Any]) -> Dict[str, int]:
|
||||
class EinschaltenPlugin(BasisPlugin):
|
||||
"""Metadata-Plugin für eine autorisierte Quelle."""
|
||||
|
||||
name = "einschalten"
|
||||
name = "Einschalten"
|
||||
|
||||
def __init__(self) -> None:
|
||||
self.is_available = REQUESTS_AVAILABLE
|
||||
@@ -501,21 +495,21 @@ class EinschaltenPlugin(BasisPlugin):
|
||||
base = self._get_base_url()
|
||||
if not base:
|
||||
return ""
|
||||
path = _get_setting_text(SETTING_INDEX_PATH, default=DEFAULT_INDEX_PATH).strip() or "/"
|
||||
path = DEFAULT_INDEX_PATH
|
||||
return urljoin(base + "/", path.lstrip("/"))
|
||||
|
||||
def _new_titles_url(self) -> str:
|
||||
base = self._get_base_url()
|
||||
if not base:
|
||||
return ""
|
||||
path = _get_setting_text(SETTING_NEW_TITLES_PATH, default=DEFAULT_NEW_TITLES_PATH).strip() or "/movies/new"
|
||||
path = DEFAULT_NEW_TITLES_PATH
|
||||
return urljoin(base + "/", path.lstrip("/"))
|
||||
|
||||
def _genres_url(self) -> str:
|
||||
base = self._get_base_url()
|
||||
if not base:
|
||||
return ""
|
||||
path = _get_setting_text(SETTING_GENRES_PATH, default=DEFAULT_GENRES_PATH).strip() or "/genres"
|
||||
path = DEFAULT_GENRES_PATH
|
||||
return urljoin(base + "/", path.lstrip("/"))
|
||||
|
||||
def _api_genres_url(self) -> str:
|
||||
@@ -528,7 +522,7 @@ class EinschaltenPlugin(BasisPlugin):
|
||||
base = self._get_base_url()
|
||||
if not base:
|
||||
return ""
|
||||
path = _get_setting_text(SETTING_SEARCH_PATH, default=DEFAULT_SEARCH_PATH).strip() or "/search"
|
||||
path = DEFAULT_SEARCH_PATH
|
||||
url = urljoin(base + "/", path.lstrip("/"))
|
||||
return f"{url}?{urlencode({'query': query})}"
|
||||
|
||||
@@ -570,9 +564,7 @@ class EinschaltenPlugin(BasisPlugin):
|
||||
base = self._get_base_url()
|
||||
if not base:
|
||||
return ""
|
||||
template = _get_setting_text(SETTING_WATCH_PATH_TEMPLATE, default=DEFAULT_WATCH_PATH_TEMPLATE).strip()
|
||||
if not template:
|
||||
template = DEFAULT_WATCH_PATH_TEMPLATE
|
||||
template = DEFAULT_WATCH_PATH_TEMPLATE
|
||||
try:
|
||||
path = template.format(id=int(movie_id))
|
||||
except Exception:
|
||||
@@ -996,21 +988,17 @@ class EinschaltenPlugin(BasisPlugin):
|
||||
movie_id = self._ensure_title_id(title)
|
||||
if movie_id is not None:
|
||||
self._fetch_movie_detail(movie_id)
|
||||
if _get_setting_bool(SETTING_ENABLE_PLAYBACK, default=False):
|
||||
# Playback: expose a single "Stream" folder (inside: 1 playable item = Filmtitel).
|
||||
return ["Stream"]
|
||||
return ["Details"]
|
||||
# Playback: expose a single "Stream" folder (inside: 1 playable item = Filmtitel).
|
||||
return ["Stream"]
|
||||
|
||||
def episodes_for(self, title: str, season: str) -> List[str]:
|
||||
season = (season or "").strip()
|
||||
if season.casefold() == "stream" and _get_setting_bool(SETTING_ENABLE_PLAYBACK, default=False):
|
||||
if season.casefold() == "stream":
|
||||
title = (title or "").strip()
|
||||
return [title] if title else []
|
||||
return []
|
||||
|
||||
def stream_link_for(self, title: str, season: str, episode: str) -> Optional[str]:
|
||||
if not _get_setting_bool(SETTING_ENABLE_PLAYBACK, default=False):
|
||||
return None
|
||||
title = (title or "").strip()
|
||||
season = (season or "").strip()
|
||||
episode = (episode or "").strip()
|
||||
|
||||
@@ -619,7 +619,7 @@ def scrape_series_detail(
|
||||
class SerienstreamPlugin(BasisPlugin):
|
||||
"""Downloader-Plugin, das Serien von s.to ueber requests/bs4 bereitstellt."""
|
||||
|
||||
name = "Serienstream (s.to)"
|
||||
name = "Serienstream"
|
||||
POPULAR_GENRE_LABEL = "⭐ Beliebte Serien"
|
||||
|
||||
def __init__(self) -> None:
|
||||
|
||||
@@ -119,7 +119,7 @@ def _strip_der_film_suffix(title: str) -> str:
|
||||
class TopstreamfilmPlugin(BasisPlugin):
|
||||
"""Integration fuer eine HTML-basierte Suchseite."""
|
||||
|
||||
name = "TopStreamFilm"
|
||||
name = "Topstreamfilm"
|
||||
|
||||
def __init__(self) -> None:
|
||||
self._session: RequestsSession | None = None
|
||||
|
||||
@@ -17,12 +17,6 @@
|
||||
</category>
|
||||
<category label="Einschalten">
|
||||
<setting id="einschalten_base_url" type="text" label="Domain (BASE_URL)" default="https://einschalten.in" />
|
||||
<setting id="einschalten_index_path" type="text" label="Index-Pfad (z.B. /)" default="/" />
|
||||
<setting id="einschalten_new_titles_path" type="text" label="Neue-Titel-Pfad (z.B. /movies/new)" default="/movies/new" />
|
||||
<setting id="einschalten_search_path" type="text" label="Suche-Pfad (z.B. /search)" default="/search" />
|
||||
<setting id="einschalten_genres_path" type="text" label="Genres-Pfad (z.B. /genres)" default="/genres" />
|
||||
<setting id="einschalten_enable_playback" type="bool" label="Wiedergabe aktivieren (nur autorisierte Quellen)" default="false" />
|
||||
<setting id="einschalten_watch_path_template" type="text" label="Watch-Pfad-Template (z.B. /api/movies/{id}/watch)" default="/api/movies/{id}/watch" />
|
||||
</category>
|
||||
<category label="TMDB">
|
||||
<setting id="tmdb_api_key" type="text" label="TMDB API Key" default="" />
|
||||
|
||||
Reference in New Issue
Block a user