summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/nsfwalbum.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2021-08-13 17:45:31 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2021-08-13 17:45:31 -0400
commitd50ba9cfe80f00e02ca9a4714f75699c00e67128 (patch)
tree01fe7b46370d5068b8c692ae5ea95cab4d734bd8 /gallery_dl/extractor/nsfwalbum.py
parent873d9a628e9412a79bdc64cd962470749de3425b (diff)
New upstream version 1.18.3.upstream/1.18.3
Diffstat (limited to 'gallery_dl/extractor/nsfwalbum.py')
-rw-r--r--gallery_dl/extractor/nsfwalbum.py24
1 files changed, 20 insertions, 4 deletions
diff --git a/gallery_dl/extractor/nsfwalbum.py b/gallery_dl/extractor/nsfwalbum.py
index 9c4d686..be736d1 100644
--- a/gallery_dl/extractor/nsfwalbum.py
+++ b/gallery_dl/extractor/nsfwalbum.py
@@ -43,11 +43,27 @@ class NsfwalbumAlbumExtractor(GalleryExtractor):
def images(self, page):
iframe = self.root + "/iframe_image.php?id="
backend = self.root + "/backend.php"
+ retries = self._retries
+
for image_id in text.extract_iter(page, 'data-img-id="', '"'):
- spirit = self._annihilate(text.extract(self.request(
- iframe + image_id).text, 'giraffe.annihilate("', '"')[0])
- params = {"spirit": spirit, "photo": image_id}
- data = self.request(backend, params=params).json()
+ spirit = None
+ tries = 0
+
+ while tries <= retries:
+ try:
+ if not spirit:
+ spirit = self._annihilate(text.extract(
+ self.request(iframe + image_id).text,
+ 'giraffe.annihilate("', '"')[0])
+ params = {"spirit": spirit, "photo": image_id}
+ data = self.request(backend, params=params).json()
+ break
+ except Exception:
+ tries += 1
+ else:
+ self.log.warning("Unable to fetch image %s", image_id)
+ continue
+
yield data[0], {
"id" : text.parse_int(image_id),
"width" : text.parse_int(data[1]),