Added Mover and other improvements
This commit is contained in:
+20
-3
@@ -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 [])
|
||||
|
||||
Reference in New Issue
Block a user