aboutsummaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/imagefap.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/imagefap.py')
-rw-r--r--gallery_dl/extractor/imagefap.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/gallery_dl/extractor/imagefap.py b/gallery_dl/extractor/imagefap.py
index 3bdcfdf..85446c0 100644
--- a/gallery_dl/extractor/imagefap.py
+++ b/gallery_dl/extractor/imagefap.py
@@ -161,11 +161,12 @@ class ImagefapFolderExtractor(ImagefapExtractor):
self.user = user or profile
def items(self):
- for gallery_id, name in self.galleries(self.folder_id):
+ for gallery_id, name, folder in self.galleries(self.folder_id):
url = "{}/gallery/{}".format(self.root, gallery_id)
data = {
"gallery_id": gallery_id,
"title" : text.unescape(name),
+ "folder" : text.unescape(folder),
"_extractor": ImagefapGalleryExtractor,
}
yield Message.Queue, url, data
@@ -173,6 +174,7 @@ class ImagefapFolderExtractor(ImagefapExtractor):
def galleries(self, folder_id):
"""Yield gallery IDs and titles of a folder"""
if folder_id == "-1":
+ folder_name = "Uncategorized"
if self._id:
url = "{}/usergallery.php?userid={}&folderid=-1".format(
self.root, self.user)
@@ -180,23 +182,28 @@ class ImagefapFolderExtractor(ImagefapExtractor):
url = "{}/profile/{}/galleries?folderid=-1".format(
self.root, self.user)
else:
+ folder_name = None
url = "{}/organizer/{}/".format(self.root, folder_id)
params = {"page": 0}
+ extr = text.extract_from(self.request(url, params=params).text)
+ if not folder_name:
+ folder_name = extr("class'blk_galleries'><b>", "</b>")
+
while True:
- extr = text.extract_from(self.request(url, params=params).text)
cnt = 0
while True:
- gid = extr('<a href="/gallery/', '"')
+ gid = extr(' id="gid-', '"')
if not gid:
break
- yield gid, extr("<b>", "<")
+ yield gid, extr("<b>", "<"), folder_name
cnt += 1
if cnt < 20:
break
params["page"] += 1
+ extr = text.extract_from(self.request(url, params=params).text)
class ImagefapUserExtractor(ImagefapExtractor):