summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/skeb.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2024-06-22 21:19:36 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2024-06-22 21:19:36 -0400
commit80e39a8fc7de105510cbbdca8507f2a4b8c9e01d (patch)
treebb5caa2f5fafc5116b8f89e659085ffbd8a918f2 /gallery_dl/extractor/skeb.py
parent1c28712d865e30ed752988ba0b6944882250b665 (diff)
New upstream version 1.27.1.upstream/1.27.1
Diffstat (limited to 'gallery_dl/extractor/skeb.py')
-rw-r--r--gallery_dl/extractor/skeb.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/gallery_dl/extractor/skeb.py b/gallery_dl/extractor/skeb.py
index 38a2d16..6ec44ba 100644
--- a/gallery_dl/extractor/skeb.py
+++ b/gallery_dl/extractor/skeb.py
@@ -7,7 +7,7 @@
"""Extractors for https://skeb.jp/"""
from .common import Extractor, Message
-from .. import text, exception
+from .. import text
import itertools
@@ -31,14 +31,15 @@ class SkebExtractor(Extractor):
if "Authorization" not in self.session.headers:
self.headers["Authorization"] = "Bearer null"
- def request(self, url, **kwargs):
- while True:
- try:
- return Extractor.request(self, url, **kwargs)
- except exception.HttpError as exc:
- if exc.status == 429 and "request_key" in exc.response.cookies:
- continue
- raise
+ def _handle_429(self, response):
+ if "request_key" in response.cookies:
+ return True
+
+ request_key = text.extr(
+ response.text, "request_key=", ";")
+ if request_key:
+ self.cookies.set("request_key", request_key, domain="skeb.jp")
+ return True
def items(self):
metadata = self.metadata()