dev: bump to 0.1.71-dev – Trakt History direkt abspielen, Metadaten + Plugin-Bugfixes
- Trakt History: Episoden starten direkt (kein Staffel-Dialog mehr) - Trakt History: Episodentitel, Plot und Artwork bereits in der Übersicht - TraktItem um episode_title, episode_overview, episode_thumb, show_poster, show_fanart erweitert - get_history() nutzt jetzt ?extended=full,images - Slash-Commands /check und /deploy angelegt - build_install_addon.sh deployt jetzt auch nach ~/.kodi/addons/ - filmpalast_plugin: return-Tuple-Bug gefixt (return "", "", "") - dokustreams_plugin: Regex-Escaping für clean_name() korrigiert - aniworld_plugin: raise_for_status() in resolve_redirect() ergänzt - serienstream_plugin: Toter Code und unnötigen Regex-Backslash entfernt
This commit is contained in:
@@ -593,6 +593,7 @@ def resolve_redirect(target_url: str) -> Optional[str]:
|
||||
response = None
|
||||
try:
|
||||
response = session.get(normalized_url, headers=HEADERS, timeout=DEFAULT_TIMEOUT, allow_redirects=True)
|
||||
response.raise_for_status()
|
||||
if response.url:
|
||||
_log_url(response.url, kind="RESOLVED")
|
||||
return response.url if response.url else None
|
||||
|
||||
@@ -304,7 +304,7 @@ class DokuStreamsPlugin(BasisPlugin):
|
||||
|
||||
def clean_name(value: str) -> str:
|
||||
value = (value or "").strip()
|
||||
return re.sub(r"\\s*\\(\\d+\\)\\s*$", "", value).strip()
|
||||
return re.sub(r"\s*\(\d+\)\s*$", "", value).strip()
|
||||
|
||||
def walk(ul, parents: List[str]) -> None:
|
||||
for li in ul.find_all("li", recursive=False):
|
||||
|
||||
@@ -728,7 +728,7 @@ class FilmpalastPlugin(BasisPlugin):
|
||||
|
||||
def _extract_detail_metadata(self, soup: BeautifulSoupT) -> tuple[str, str, str]:
|
||||
if not soup:
|
||||
return "", ""
|
||||
return "", "", ""
|
||||
root = soup.select_one("div#content[role='main']") or soup
|
||||
detail = root.select_one("article.detail") or root
|
||||
plot = ""
|
||||
|
||||
@@ -865,7 +865,7 @@ def _extract_episodes(soup: BeautifulSoupT) -> list[EpisodeInfo]:
|
||||
onclick = (row.get("onclick") or "").strip()
|
||||
url = ""
|
||||
if onclick:
|
||||
match = re.search(r"location=['\\\"]([^'\\\"]+)['\\\"]", onclick)
|
||||
match = re.search(r"location=['\"]([^'\"]+)['\"]", onclick)
|
||||
if match:
|
||||
url = _absolute_url(match.group(1))
|
||||
if not url:
|
||||
@@ -923,8 +923,6 @@ def _extract_episodes(soup: BeautifulSoupT) -> list[EpisodeInfo]:
|
||||
hosters=hosters,
|
||||
)
|
||||
)
|
||||
if episodes:
|
||||
return episodes
|
||||
return episodes
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user