diff --git a/gallery_dl/extractor/mangadex.py b/gallery_dl/extractor/mangadex.py index 53ae76a0..1f577127 100644 --- a/gallery_dl/extractor/mangadex.py +++ b/gallery_dl/extractor/mangadex.py @@ -37,7 +37,7 @@ class MangadexExtractor(Extractor): def items(self): for chapter in self.chapters(): - uuid = chapter["data"]["id"] + uuid = chapter["id"] data = self._transform(chapter) data["_extractor"] = MangadexChapterExtractor self._cache[uuid] = (chapter, data) @@ -51,8 +51,8 @@ class MangadexExtractor(Extractor): for item in manga["relationships"]: relationships[item["type"]].append(item["id"]) - cattributes = chapter["data"]["attributes"] - mattributes = manga["data"]["attributes"] + cattributes = chapter["attributes"] + mattributes = manga["attributes"] lang = cattributes["translatedLanguage"].partition("-")[0] if cattributes["chapter"]: @@ -63,12 +63,12 @@ class MangadexExtractor(Extractor): data = { "manga" : (mattributes["title"].get("en") or next(iter(mattributes["title"].values()))), - "manga_id": manga["data"]["id"], + "manga_id": manga["id"], "title" : cattributes["title"], "volume" : text.parse_int(cattributes["volume"]), "chapter" : text.parse_int(chnum), "chapter_minor": sep + minor, - "chapter_id": chapter["data"]["id"], + "chapter_id": chapter["id"], "date" : text.parse_datetime(cattributes["publishAt"]), "lang" : lang, "language": util.code_to_language(lang), @@ -77,13 +77,13 @@ class MangadexExtractor(Extractor): if self.config("metadata"): data["artist"] = [ - self.api.author(uuid)["data"]["attributes"]["name"] + self.api.author(uuid)["attributes"]["name"] for uuid in relationships["artist"]] data["author"] = [ - self.api.author(uuid)["data"]["attributes"]["name"] + self.api.author(uuid)["attributes"]["name"] for uuid in relationships["author"]] data["group"] = [ - self.api.group(uuid)["data"]["attributes"]["name"] + self.api.group(uuid)["attributes"]["name"] for uuid in relationships["scanlation_group"]] return data @@ -118,7 +118,7 @@ class MangadexChapterExtractor(MangadexExtractor): data = self._transform(chapter) yield Message.Directory, data - cattributes = chapter["data"]["attributes"] + cattributes = chapter["attributes"] data["_http_headers"] = self._headers base = "{}/data/{}/".format( self.api.athome_server(self.uuid)["baseUrl"], cattributes["hash"]) @@ -189,18 +189,18 @@ class MangadexAPI(): @memcache(keyarg=1) def author(self, uuid): - return self._call("/author/" + uuid) + return self._call("/author/" + uuid)["data"] def chapter(self, uuid): - return self._call("/chapter/" + uuid) + return self._call("/chapter/" + uuid)["data"] @memcache(keyarg=1) def group(self, uuid): - return self._call("/group/" + uuid) + return self._call("/group/" + uuid)["data"] @memcache(keyarg=1) def manga(self, uuid): - return self._call("/manga/" + uuid) + return self._call("/manga/" + uuid)["data"] def manga_feed(self, uuid): config = self.extractor.config @@ -271,7 +271,7 @@ class MangadexAPI(): while True: data = self._call(endpoint, params) - yield from data["results"] + yield from data["data"] params["offset"] = data["offset"] + data["limit"] if params["offset"] >= data["total"]: