Added Mover and other improvements

This commit is contained in:
2026-05-23 16:09:13 +02:00
parent 3dab98cb41
commit 377aff34d0
4 changed files with 440 additions and 5 deletions
+20 -3
View File
@@ -365,8 +365,11 @@ class ComicInfoBuilder:
add("Volume", volume)
# ----- Description with MAL stats -----------------------------------
mal_id = self._mal_resolver.find_mal_id(
md.get("title") or self._manga_title)
# Prefer the MAL ID from MangaBaka's source map — avoids an extra
# Jikan title-search request and is more reliable than fuzzy matching.
mal_id = (self._mal_id_from_source(md)
or self._mal_resolver.find_mal_id(
md.get("title") or self._manga_title))
mal_stats = self._mal_resolver.get_stats(mal_id)
add("Summary", self._build_summary(md, sd, mal_stats))
@@ -417,7 +420,8 @@ class ComicInfoBuilder:
pass
# ----- ISBN (GTIN) from volume work ---------------------------------
isbn = (work or {}).get('identifiers')[0].get("id")
identifiers = (work or {}).get("identifiers") or []
isbn = identifiers[0].get("id") if identifiers else None
add("GTIN", isbn)
# ----- SeriesGroup from related works -------------------------------
@@ -741,6 +745,19 @@ class ComicInfoBuilder:
return str(info["id"])
return None
@staticmethod
def _mal_id_from_source(md: dict) -> "int | None":
for raw_key, info in (md.get("source") or {}).items():
if _normalise_key(raw_key) in ("myanimelist", "mal"):
if isinstance(info, dict):
mid = info.get("id")
if mid is not None:
try:
return int(mid)
except (TypeError, ValueError):
pass
return None
@staticmethod
def _publishers_by_type(md: dict, ptype: str) -> "str | None":
names = [p.get("name") for p in (md.get("publishers") or [])