WebApp changes
This commit is contained in:
+12
-1
@@ -49,6 +49,7 @@ from MangaBakaWorksResolver import MangaBakaWorksResolver
|
||||
from MALResolver import MALResolver
|
||||
from AniListResolver import AniListResolver
|
||||
from MatchesCache import MatchesCache
|
||||
from MangaBakaRateLimit import apply_to_session as _apply_mangabaka_rate_limit
|
||||
|
||||
try:
|
||||
from PIL import Image
|
||||
@@ -62,6 +63,12 @@ except ImportError:
|
||||
# --------------------------------------------------------------------------
|
||||
_IMAGE_EXTS = {".jpg", ".jpeg", ".png", ".gif", ".webp", ".bmp", ".avif"}
|
||||
|
||||
# Series types accepted by the MangaBaka search endpoint. Light/web novels
|
||||
# are filtered out because this pipeline only handles image-based manga.
|
||||
# Passed to `requests` as a list so each value becomes its own `&type=...`
|
||||
# query parameter (MangaBaka's API expects repeated keys, not a CSV list).
|
||||
_SEARCH_TYPES = ["manga", "manhwa", "manhua"]
|
||||
|
||||
_AGE_RATING_MAP = {
|
||||
"safe": "Everyone",
|
||||
"suggestive": "Teen",
|
||||
@@ -184,6 +191,9 @@ class ComicInfoBuilder:
|
||||
self.request_timeout = request_timeout
|
||||
self._session = session or requests.Session()
|
||||
self._session.headers.setdefault("User-Agent", "ComicInfoBuilder/1.0")
|
||||
# Throttle every call to api.mangabaka.dev (idempotent — safe even
|
||||
# when the session was already prepared by a parent class).
|
||||
_apply_mangabaka_rate_limit(self._session)
|
||||
|
||||
self._volume_resolver = (volume_resolver
|
||||
or MangaDexVolumeResolver(
|
||||
@@ -378,7 +388,8 @@ class ComicInfoBuilder:
|
||||
|
||||
url = f"{self.api_base_url}/series/search"
|
||||
resp = self._session.get(
|
||||
url, params={"q": title, "page": 1, "limit": 1},
|
||||
url, params={"q": title, "type": _SEARCH_TYPES,
|
||||
"page": 1, "limit": 1},
|
||||
timeout=self.request_timeout)
|
||||
resp.raise_for_status()
|
||||
data = resp.json().get("data") or []
|
||||
|
||||
Reference in New Issue
Block a user