dev: YouTube HD via inputstream.adaptive, DokuStreams Suche fix
This commit is contained in:
@@ -286,7 +286,7 @@ class DokuStreamsPlugin(BasisPlugin):
|
||||
soup = _get_soup(search_url, session=session)
|
||||
except Exception:
|
||||
return []
|
||||
return _parse_listing_hits(soup, query=query)
|
||||
return _parse_listing_hits(soup)
|
||||
|
||||
def capabilities(self) -> set[str]:
|
||||
return {"genres", "popular_series", "tags", "random"}
|
||||
@@ -455,15 +455,24 @@ class DokuStreamsPlugin(BasisPlugin):
|
||||
art = {"thumb": poster, "poster": poster}
|
||||
return info, art, None
|
||||
|
||||
def series_url_for_title(self, title: str) -> Optional[str]:
|
||||
return self._title_to_url.get((title or "").strip())
|
||||
|
||||
def remember_series_url(self, title: str, url: str) -> None:
|
||||
title = (title or "").strip()
|
||||
url = (url or "").strip()
|
||||
if title and url:
|
||||
self._title_to_url[title] = url
|
||||
|
||||
def seasons_for(self, title: str) -> List[str]:
|
||||
title = (title or "").strip()
|
||||
if not title or title not in self._title_to_url:
|
||||
if not title:
|
||||
return []
|
||||
return ["Stream"]
|
||||
|
||||
def episodes_for(self, title: str, season: str) -> List[str]:
|
||||
title = (title or "").strip()
|
||||
if not title or title not in self._title_to_url:
|
||||
if not title:
|
||||
return []
|
||||
return [title]
|
||||
|
||||
@@ -537,6 +546,14 @@ class DokuStreamsPlugin(BasisPlugin):
|
||||
"""Folgt Redirects und versucht ResolveURL fuer Hoster-Links."""
|
||||
if not link:
|
||||
return None
|
||||
# YouTube-URLs via yt-dlp aufloesen
|
||||
from ytdlp_helper import extract_youtube_id, resolve_youtube_url
|
||||
yt_id = extract_youtube_id(link)
|
||||
if yt_id:
|
||||
resolved = resolve_youtube_url(yt_id)
|
||||
if resolved:
|
||||
return resolved
|
||||
return None
|
||||
from plugin_helpers import resolve_via_resolveurl
|
||||
resolved = resolve_via_resolveurl(link, fallback_to_link=False)
|
||||
if resolved:
|
||||
|
||||
Reference in New Issue
Block a user