summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/mangadex.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/mangadex.py')
-rw-r--r--gallery_dl/extractor/mangadex.py22
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"),