From 244e09fb717a54b9639f35f1439f4e1b74ab4a37 Mon Sep 17 00:00:00 2001 From: Alice <38675581+alice945@users.noreply.github.com> Date: Tue, 22 Feb 2022 17:23:42 -0800 Subject: [PATCH 1/3] Update skeb.py --- gallery_dl/extractor/skeb.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/gallery_dl/extractor/skeb.py b/gallery_dl/extractor/skeb.py index 2c806ad6d3..6fd2c8b117 100644 --- a/gallery_dl/extractor/skeb.py +++ b/gallery_dl/extractor/skeb.py @@ -22,10 +22,11 @@ def __init__(self, match): Extractor.__init__(self, match) self.user_name = match.group(1) self.thumbnails = self.config("thumbnails", False) + self.sent_requests = self.config("sent-requests", False) def items(self): - for post_num in self.posts(): - response, post = self._get_post_data(post_num) + for user_name, post_num in self.posts(): + response, post = self._get_post_data(user_name, post_num) yield Message.Directory, post for data in self._get_urls_from_post(response, post): url = data["file_url"] @@ -38,24 +39,32 @@ def _pagination(self): url = "{}/api/users/{}/works".format(self.root, self.user_name) params = {"role": "creator", "sort": "date", "offset": 0} headers = {"Referer": self.root, "Authorization": "Bearer null"} + do_requests = self.sent_requests while True: posts = self.request(url, params=params, headers=headers).json() for post in posts: post_num = post["path"].rpartition("/")[2] + user_name = post["path"].split("/")[1][1:] if post["private"]: - self.log.debug("Skipping %s (private)", post_num) + self.log.debug("Skipping @%s/%s (private)", user_name, post_num) continue - yield post_num + yield user_name, post_num if len(posts) < 30: - return + if do_requests: + params["offset"] = 0 + params['role'] = "client" + do_requests = False + continue + else: + return params["offset"] += 30 - def _get_post_data(self, post_num): + def _get_post_data(self, user_name, post_num): url = "{}/api/users/{}/works/{}".format( - self.root, self.user_name, post_num) + self.root, user_name, post_num) headers = {"Referer": self.root, "Authorization": "Bearer null"} resp = self.request(url, headers=headers).json() creator = resp["creator"] @@ -130,7 +139,7 @@ def __init__(self, match): self.post_num = match.group(2) def posts(self): - return (self.post_num,) + return (self.user_name, self.post_num,) class SkebUserExtractor(SkebExtractor): From b488c6d7a5afe4edeb7d91eb7cf280a9eeff4f1b Mon Sep 17 00:00:00 2001 From: Alice <38675581+alice945@users.noreply.github.com> Date: Tue, 22 Feb 2022 17:25:07 -0800 Subject: [PATCH 2/3] Update configuration.rst --- docs/configuration.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/configuration.rst b/docs/configuration.rst index cc1574e906..cd829606ad 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -1979,6 +1979,16 @@ Description Download videos. +extractor.skeb.sent-requests +------------------------- +Type + ``bool`` +Default + ``false`` +Description + Download sent requests. + + extractor.skeb.thumbnails ------------------------- Type From 880fcd9cf401c525ffee1ac77fe92ddf82228d0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Mon, 28 Feb 2022 22:38:24 +0100 Subject: [PATCH 3/3] flake8 --- gallery_dl/extractor/skeb.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gallery_dl/extractor/skeb.py b/gallery_dl/extractor/skeb.py index 6fd2c8b117..24e39f91c2 100644 --- a/gallery_dl/extractor/skeb.py +++ b/gallery_dl/extractor/skeb.py @@ -48,7 +48,8 @@ def _pagination(self): post_num = post["path"].rpartition("/")[2] user_name = post["path"].split("/")[1][1:] if post["private"]: - self.log.debug("Skipping @%s/%s (private)", user_name, post_num) + self.log.debug("Skipping @%s/%s (private)", + user_name, post_num) continue yield user_name, post_num