diff options
Diffstat (limited to 'gallery_dl/extractor/pixeldrain.py')
| -rw-r--r-- | gallery_dl/extractor/pixeldrain.py | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/gallery_dl/extractor/pixeldrain.py b/gallery_dl/extractor/pixeldrain.py index 73f4b1f..1486976 100644 --- a/gallery_dl/extractor/pixeldrain.py +++ b/gallery_dl/extractor/pixeldrain.py @@ -24,16 +24,12 @@ class PixeldrainExtractor(Extractor): if api_key := self.config("api-key"): self.session.auth = util.HTTPBasicAuth("", api_key) - def parse_datetime(self, date_string): - return text.parse_datetime( - date_string, "%Y-%m-%dT%H:%M:%S.%fZ") - class PixeldrainFileExtractor(PixeldrainExtractor): """Extractor for pixeldrain files""" subcategory = "file" filename_fmt = "{filename[:230]} ({id}).{extension}" - pattern = BASE_PATTERN + r"/(?:u|api/file)/(\w+)" + pattern = rf"{BASE_PATTERN}/(?:u|api/file)/(\w+)" example = "https://pixeldrain.com/u/abcdefgh" def __init__(self, match): @@ -45,10 +41,10 @@ class PixeldrainFileExtractor(PixeldrainExtractor): file = self.request_json(url + "/info") file["url"] = url + "?download" - file["date"] = self.parse_datetime(file["date_upload"]) + file["date"] = self.parse_datetime_iso(file["date_upload"]) text.nameext_from_url(file["name"], file) - yield Message.Directory, file + yield Message.Directory, "", file yield Message.Url, file["url"], file @@ -58,7 +54,7 @@ class PixeldrainAlbumExtractor(PixeldrainExtractor): directory_fmt = ("{category}", "{album[date]:%Y-%m-%d} {album[title]} ({album[id]})") filename_fmt = "{num:>03} {filename[:230]} ({id}).{extension}" - pattern = BASE_PATTERN + r"/(?:l|api/list)/(\w+)(?:#item=(\d+))?" + pattern = rf"{BASE_PATTERN}/(?:l|api/list)/(\w+)(?:#item=(\d+))?" example = "https://pixeldrain.com/l/abcdefgh" def __init__(self, match): @@ -72,7 +68,7 @@ class PixeldrainAlbumExtractor(PixeldrainExtractor): files = album["files"] album["count"] = album["file_count"] - album["date"] = self.parse_datetime(album["date_created"]) + album["date"] = self.parse_datetime_iso(album["date_created"]) if self.file_index: idx = text.parse_int(self.file_index) @@ -86,12 +82,12 @@ class PixeldrainAlbumExtractor(PixeldrainExtractor): del album["files"] del album["file_count"] - yield Message.Directory, {"album": album} + yield Message.Directory, "", {"album": album} for num, file in enumerate(files, idx+1): file["album"] = album file["num"] = num file["url"] = url = f"{self.root}/api/file/{file['id']}?download" - file["date"] = self.parse_datetime(file["date_upload"]) + file["date"] = self.parse_datetime_iso(file["date_upload"]) text.nameext_from_url(file["name"], file) yield Message.Url, url, file @@ -101,7 +97,7 @@ class PixeldrainFolderExtractor(PixeldrainExtractor): subcategory = "folder" filename_fmt = "{filename[:230]}.{extension}" archive_fmt = "{path}_{num}" - pattern = BASE_PATTERN + r"/(?:d|api/filesystem)/([^?]+)" + pattern = rf"{BASE_PATTERN}/(?:d|api/filesystem)/([^?]+)" example = "https://pixeldrain.com/d/abcdefgh" def metadata(self, data): @@ -112,7 +108,7 @@ class PixeldrainFolderExtractor(PixeldrainExtractor): "mime_type" : data["file_type"], "size" : data["file_size"], "hash_sha256": data["sha256_sum"], - "date" : self.parse_datetime(data["created"]), + "date" : self.parse_datetime_iso(data["created"]), } def items(self): @@ -135,7 +131,7 @@ class PixeldrainFolderExtractor(PixeldrainExtractor): folder = self.metadata(path) folder["id"] = paths[0]["id"] - yield Message.Directory, folder + yield Message.Directory, "", folder num = 0 for child in children: |
