aboutsummaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/skeb.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/skeb.py')
-rw-r--r--gallery_dl/extractor/skeb.py32
1 files changed, 15 insertions, 17 deletions
diff --git a/gallery_dl/extractor/skeb.py b/gallery_dl/extractor/skeb.py
index cdccd4c..1caafd1 100644
--- a/gallery_dl/extractor/skeb.py
+++ b/gallery_dl/extractor/skeb.py
@@ -21,7 +21,7 @@ class SkebExtractor(Extractor):
def __init__(self, match):
Extractor.__init__(self, match)
- self.user_name = match.group(1)
+ self.user_name = match[1]
def _init(self):
self.thumbnails = self.config("thumbnails", False)
@@ -81,8 +81,8 @@ class SkebExtractor(Extractor):
params["offset"] = 0
while True:
- posts = self.request(
- url, params=params, headers=self.headers).json()
+ posts = self.request_json(
+ url, params=params, headers=self.headers)
for post in posts:
parts = post["path"].split("/")
@@ -100,13 +100,13 @@ class SkebExtractor(Extractor):
params["offset"] += 30
def _pagination_users(self, endpoint, params):
- url = "{}/api{}".format(self.root, endpoint)
+ url = f"{self.root}/api{endpoint}"
params["offset"] = 0
params["limit"] = 90
while True:
- data = self.request(
- url, params=params, headers=self.headers).json()
+ data = self.request_json(
+ url, params=params, headers=self.headers)
yield from data
if len(data) < params["limit"]:
@@ -114,9 +114,8 @@ class SkebExtractor(Extractor):
params["offset"] += params["limit"]
def _get_post_data(self, user_name, post_num):
- url = "{}/api/users/{}/works/{}".format(
- self.root, user_name, post_num)
- resp = self.request(url, headers=self.headers).json()
+ url = f"{self.root}/api/users/{user_name}/works/{post_num}"
+ resp = self.request_json(url, headers=self.headers)
creator = resp["creator"]
post = {
"post_id" : resp["id"],
@@ -163,8 +162,7 @@ class SkebExtractor(Extractor):
})
if self.article and "article_image_url" in resp:
- url = resp["article_image_url"]
- if url:
+ if url := resp["article_image_url"]:
files.append({
"content_category": "article",
"file_id" : "article",
@@ -184,7 +182,7 @@ class SkebExtractor(Extractor):
"height" : info["height"],
"byte_size" : info["byte_size"],
"duration" : info["duration"],
- "frame_rate": info["frame_rate"],
+ "frame_rate": info.get("frame_rate"),
"software" : info["software"],
"extension" : info["extension"],
"is_movie" : info["is_movie"],
@@ -203,7 +201,7 @@ class SkebPostExtractor(SkebExtractor):
def __init__(self, match):
SkebExtractor.__init__(self, match)
- self.post_num = match.group(2)
+ self.post_num = match[2]
def posts(self):
return ((self.user_name, self.post_num),)
@@ -216,7 +214,7 @@ class SkebUserExtractor(SkebExtractor):
example = "https://skeb.jp/@USER"
def posts(self):
- url = "{}/api/users/{}/works".format(self.root, self.user_name)
+ url = f"{self.root}/api/users/{self.user_name}/works"
params = {"role": "creator", "sort": "date"}
posts = self._pagination(url, params)
@@ -266,9 +264,9 @@ class SkebSearchExtractor(SkebExtractor):
data = {"requests": (request,)}
while True:
- result = self.request(
+ result = self.request_json(
url, method="POST", params=params, headers=headers, json=data,
- ).json()["results"][0]
+ )["results"][0]
for post in result["hits"]:
parts = post["path"].split("/")
@@ -289,7 +287,7 @@ class SkebFollowingExtractor(SkebExtractor):
items = SkebExtractor._items_users
def users(self):
- endpoint = "/users/{}/following_creators".format(self.user_name)
+ endpoint = f"/users/{self.user_name}/following_creators"
params = {"sort": "date"}
return self._pagination_users(endpoint, params)