dev: bump to 0.1.74-dev – BurningSeries entfernt, Paging-Fix Neuste Titel
This commit is contained in:
@@ -9,7 +9,7 @@ Vorgehen fuer ein neues Plugin:
|
||||
3. `search_titles`, `seasons_for`, `episodes_for` gemaess Zielseite implementieren
|
||||
4. Optional weitere Methoden implementieren – capabilities deklarieren und Methoden ueberschreiben:
|
||||
- `popular_series()` + capability 'popular_series'
|
||||
- `latest_titles(page)` + capability 'latest_titles'
|
||||
- `new_titles()` + `new_titles_page(page)` + capability 'new_titles'
|
||||
- `genres()` + `titles_for_genre(genre)` + `titles_for_genre_page(genre, page)`
|
||||
- `alpha_index()` + `titles_for_alpha_page(letter, page)`
|
||||
- `years_available()` + `titles_for_year(year, page)` + capability 'year_filter'
|
||||
@@ -169,7 +169,7 @@ class TemplatePlugin(BasisPlugin):
|
||||
|
||||
Bekannte Werte (aus plugin_interface.py):
|
||||
- 'popular_series' – Plugin hat beliebte Serien/Filme
|
||||
- 'latest_titles' – Plugin hat neu hinzugefuegte Titel
|
||||
- 'new_titles' – Plugin hat neu hinzugefuegte Titel
|
||||
- 'year_filter' – Plugin unterstuetzt Jahr-Filter
|
||||
- 'country_filter' – Plugin unterstuetzt Land-Filter
|
||||
- 'collections' – Plugin hat Sammlungen/Filmreihen
|
||||
|
||||
@@ -1025,7 +1025,7 @@ class AniworldPlugin(BasisPlugin):
|
||||
_session_cache_set(self._season_episodes_cache_name(season_url), payload)
|
||||
|
||||
def capabilities(self) -> set[str]:
|
||||
return {"popular_series", "genres", "latest_episodes", "latest_titles"}
|
||||
return {"popular_series", "genres", "latest_episodes", "new_titles"}
|
||||
|
||||
def _find_series_by_title(self, title: str) -> Optional[SeriesResult]:
|
||||
title = (title or "").strip()
|
||||
@@ -1345,7 +1345,7 @@ class AniworldPlugin(BasisPlugin):
|
||||
except Exception:
|
||||
return 1
|
||||
|
||||
def latest_titles(self, page: int = 1) -> List[str]:
|
||||
def new_titles_page(self, page: int = 1) -> List[str]:
|
||||
"""Liefert neu hinzugefuegte Anime vom Animekalender."""
|
||||
if not self._requests_available:
|
||||
return []
|
||||
@@ -1372,6 +1372,9 @@ class AniworldPlugin(BasisPlugin):
|
||||
except Exception:
|
||||
return []
|
||||
|
||||
def new_titles(self) -> List[str]:
|
||||
return self.new_titles_page(1)
|
||||
|
||||
def _season_label(self, number: int) -> str:
|
||||
return f"Staffel {number}"
|
||||
|
||||
|
||||
@@ -1019,7 +1019,7 @@ class EinschaltenPlugin(BasisPlugin):
|
||||
return resolve_via_resolveurl(link, fallback_to_link=True)
|
||||
|
||||
def capabilities(self) -> Set[str]:
|
||||
return {"new_titles", "genres", "popular_series", "latest_titles"}
|
||||
return {"new_titles", "genres", "popular_series"}
|
||||
|
||||
def popular_series(self) -> List[str]:
|
||||
"""Liefert die am besten bewerteten Filme (nach voteAverage sortiert)."""
|
||||
@@ -1042,14 +1042,6 @@ class EinschaltenPlugin(BasisPlugin):
|
||||
titles.append(movie.title)
|
||||
return titles
|
||||
|
||||
def latest_titles(self, page: int = 1) -> List[str]:
|
||||
"""Liefert neu hinzugefügte Filme (Alias zu new_titles_page)."""
|
||||
if not REQUESTS_AVAILABLE:
|
||||
return []
|
||||
if not self._get_base_url():
|
||||
return []
|
||||
return self.new_titles_page(max(1, int(page or 1)))
|
||||
|
||||
def new_titles(self) -> List[str]:
|
||||
if not REQUESTS_AVAILABLE:
|
||||
return []
|
||||
|
||||
@@ -525,7 +525,7 @@ class FilmpalastPlugin(BasisPlugin):
|
||||
return max_page
|
||||
|
||||
def capabilities(self) -> set[str]:
|
||||
return {"genres", "alpha", "series_catalog", "popular_series", "latest_titles"}
|
||||
return {"genres", "alpha", "series_catalog", "popular_series", "new_titles"}
|
||||
|
||||
def _parse_alpha_links(self, soup: BeautifulSoupT) -> Dict[str, str]:
|
||||
alpha: Dict[str, str] = {}
|
||||
@@ -1057,7 +1057,7 @@ class FilmpalastPlugin(BasisPlugin):
|
||||
except Exception:
|
||||
return []
|
||||
|
||||
def latest_titles(self, page: int = 1) -> List[str]:
|
||||
def new_titles_page(self, page: int = 1) -> List[str]:
|
||||
"""Liefert neu hinzugefuegte Titel von /movies/new."""
|
||||
if not self._requests_available:
|
||||
return []
|
||||
@@ -1071,6 +1071,9 @@ class FilmpalastPlugin(BasisPlugin):
|
||||
except Exception:
|
||||
return []
|
||||
|
||||
def new_titles(self) -> List[str]:
|
||||
return self.new_titles_page(1)
|
||||
|
||||
def resolve_stream_link(self, link: str) -> Optional[str]:
|
||||
if not link:
|
||||
return None
|
||||
|
||||
@@ -231,10 +231,13 @@ class NetzkinoPlugin(BasisPlugin):
|
||||
# Browsing
|
||||
# ------------------------------------------------------------------
|
||||
|
||||
def latest_titles(self, page: int = 1) -> List[str]:
|
||||
def new_titles_page(self, page: int = 1) -> List[str]:
|
||||
url = _URL_CATEGORY.format(slug="neue-filme")
|
||||
return self._load_posts(url)
|
||||
|
||||
def new_titles(self) -> List[str]:
|
||||
return self.new_titles_page(1)
|
||||
|
||||
def genres(self) -> List[str]:
|
||||
# Gibt die Anzeigenamen zurück (sortiert, Browsing-Kategorien)
|
||||
return sorted(CATEGORIES.values())
|
||||
@@ -248,4 +251,4 @@ class NetzkinoPlugin(BasisPlugin):
|
||||
return self._load_posts(url)
|
||||
|
||||
def capabilities(self) -> set[str]:
|
||||
return {"latest_titles", "genres"}
|
||||
return {"new_titles", "genres"}
|
||||
|
||||
@@ -1167,7 +1167,7 @@ class TopstreamfilmPlugin(BasisPlugin):
|
||||
return resolve_via_resolveurl(link, fallback_to_link=True)
|
||||
|
||||
def capabilities(self) -> set[str]:
|
||||
return {"genres", "popular_series", "year_filter", "latest_titles"}
|
||||
return {"genres", "popular_series", "year_filter", "new_titles"}
|
||||
|
||||
def years_available(self) -> List[str]:
|
||||
"""Liefert verfügbare Erscheinungsjahre (aktuelles Jahr bis 1980)."""
|
||||
@@ -1207,7 +1207,7 @@ class TopstreamfilmPlugin(BasisPlugin):
|
||||
self._save_title_url_cache()
|
||||
return titles
|
||||
|
||||
def latest_titles(self, page: int = 1) -> List[str]:
|
||||
def new_titles_page(self, page: int = 1) -> List[str]:
|
||||
"""Liefert neu hinzugefügte Filme.
|
||||
|
||||
URL-Muster: /neueste-filme/ oder /neueste-filme/page/{n}/
|
||||
@@ -1238,6 +1238,9 @@ class TopstreamfilmPlugin(BasisPlugin):
|
||||
self._save_title_url_cache()
|
||||
return titles
|
||||
|
||||
def new_titles(self) -> List[str]:
|
||||
return self.new_titles_page(1)
|
||||
|
||||
|
||||
# Alias für die automatische Plugin-Erkennung.
|
||||
Plugin = TopstreamfilmPlugin
|
||||
|
||||
Reference in New Issue
Block a user