diff options
Diffstat (limited to 'gallery_dl/extractor/mangadex.py')
| -rw-r--r-- | gallery_dl/extractor/mangadex.py | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/gallery_dl/extractor/mangadex.py b/gallery_dl/extractor/mangadex.py index 16eb650..0a1709d 100644 --- a/gallery_dl/extractor/mangadex.py +++ b/gallery_dl/extractor/mangadex.py @@ -68,7 +68,7 @@ class MangadexExtractor(Extractor): "chapter" : text.parse_int(chnum), "chapter_minor": f"{sep}{minor}", "chapter_id": chapter["id"], - "date" : text.parse_datetime(cattributes["publishAt"]), + "date" : self.parse_datetime_iso(cattributes["publishAt"]), "group" : [group["attributes"]["name"] for group in relationships["scanlation_group"]], "lang" : lang, @@ -95,7 +95,7 @@ class MangadexCoversExtractor(MangadexExtractor): name = data["cover"] text.nameext_from_url(name, data) data["cover_id"] = data["filename"] - yield Message.Directory, data + yield Message.Directory, "", data yield Message.Url, f"{base}{name}", data def _transform_cover(self, cover): @@ -109,8 +109,8 @@ class MangadexCoversExtractor(MangadexExtractor): "cover" : cattributes["fileName"], "lang" : cattributes.get("locale"), "volume" : text.parse_int(cattributes["volume"]), - "date" : text.parse_datetime(cattributes["createdAt"]), - "date_updated": text.parse_datetime(cattributes["updatedAt"]), + "date" : self.parse_datetime_iso(cattributes["createdAt"]), + "date_updated": self.parse_datetime_iso(cattributes["updatedAt"]), } @@ -134,15 +134,21 @@ class MangadexChapterExtractor(MangadexExtractor): f"available on MangaDex and can instead be read on the " f"official publisher's website at {data['_external_url']}.") - yield Message.Directory, data + yield Message.Directory, "", data + + if self.config("data-saver", False): + path = "data-saver" + key = "dataSaver" + else: + path = key = "data" server = self.api.athome_server(self.uuid) chapter = server["chapter"] - base = f"{server['baseUrl']}/data/{chapter['hash']}/" + base = f"{server['baseUrl']}/{path}/{chapter['hash']}/" enum = util.enumerate_reversed if self.config( "page-reverse") else enumerate - for data["page"], page in enum(chapter["data"], 1): + for data["page"], page in enum(chapter[key], 1): text.nameext_from_url(page, data) yield Message.Url, f"{base}{page}", data @@ -454,7 +460,7 @@ def _manga_info(self, uuid): "manga_id": manga["id"], "manga_titles": [t.popitem()[1] for t in mattr.get("altTitles") or ()], - "manga_date" : text.parse_datetime(mattr.get("createdAt")), + "manga_date" : self.parse_datetime_iso(mattr.get("createdAt")), "description" : (mattr["description"].get("en") or next(iter(mattr["description"].values()), "")), "demographic": mattr.get("publicationDemographic"), |
