[pixeldrain:album] add 'zip' option
This commit is contained in:
@@ -4801,6 +4801,16 @@ Description
|
||||
Recursively download files from subfolders.
|
||||
|
||||
|
||||
extractor.pixeldrain.zip
|
||||
------------------------
|
||||
Type
|
||||
``bool``
|
||||
Default
|
||||
``false``
|
||||
Description
|
||||
Download albums as a single `.zip` file.
|
||||
|
||||
|
||||
extractor.pixiv.include
|
||||
-----------------------
|
||||
Type
|
||||
|
||||
@@ -631,7 +631,8 @@
|
||||
"pixeldrain":
|
||||
{
|
||||
"api-key" : null,
|
||||
"recursive": false
|
||||
"recursive": false,
|
||||
"zip" : false
|
||||
},
|
||||
"pixiv":
|
||||
{
|
||||
|
||||
@@ -65,11 +65,33 @@ class PixeldrainAlbumExtractor(PixeldrainExtractor):
|
||||
def items(self):
|
||||
url = f"{self.root}/api/list/{self.album_id}"
|
||||
album = self.request_json(url)
|
||||
|
||||
files = album["files"]
|
||||
album["count"] = album["file_count"]
|
||||
album["date"] = self.parse_datetime_iso(album["date_created"])
|
||||
|
||||
if self.config("zip", False):
|
||||
self.directory_fmt = ("{category}",)
|
||||
self.filename_fmt = "{filename[:230]} ({id}).{extension}"
|
||||
del album["files"]
|
||||
album["count"] = 1
|
||||
url += "/zip"
|
||||
|
||||
file = {
|
||||
"id" : album["id"],
|
||||
"url" : url,
|
||||
"num" : 0,
|
||||
"count": 1,
|
||||
"name" : album["title"] + ".zip",
|
||||
"date" : album["date"],
|
||||
"album": album,
|
||||
"filename" : album["title"],
|
||||
"extension": "zip",
|
||||
}
|
||||
|
||||
yield Message.Directory, "", file
|
||||
yield Message.Url, url, file
|
||||
return
|
||||
|
||||
files = album.pop("files")
|
||||
album["count"] = album.pop("file_count")
|
||||
if self.file_index:
|
||||
idx = text.parse_int(self.file_index)
|
||||
try:
|
||||
@@ -79,9 +101,6 @@ class PixeldrainAlbumExtractor(PixeldrainExtractor):
|
||||
else:
|
||||
idx = 0
|
||||
|
||||
del album["files"]
|
||||
del album["file_count"]
|
||||
|
||||
yield Message.Directory, "", {"album": album}
|
||||
for num, file in enumerate(files, idx+1):
|
||||
file["album"] = album
|
||||
|
||||
Reference in New Issue
Block a user