aboutsummaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/gelbooru.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/gelbooru.py')
-rw-r--r--gallery_dl/extractor/gelbooru.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/gallery_dl/extractor/gelbooru.py b/gallery_dl/extractor/gelbooru.py
index eba1539..83f1392 100644
--- a/gallery_dl/extractor/gelbooru.py
+++ b/gallery_dl/extractor/gelbooru.py
@@ -23,7 +23,7 @@ class GelbooruBase():
root = "https://gelbooru.com"
offset = 0
- def _api_request(self, params, key="post"):
+ def _api_request(self, params, key="post", log=False):
if "s" not in params:
params["s"] = "post"
params["api_key"] = self.api_key
@@ -35,8 +35,9 @@ class GelbooruBase():
try:
posts = data[key]
except KeyError:
- self.log.error("Incomplete API response (missing '%s')", key)
- self.log.debug("%s", data)
+ if log:
+ self.log.error("Incomplete API response (missing '%s')", key)
+ self.log.debug("%s", data)
return []
if not isinstance(posts, list):
@@ -117,7 +118,7 @@ class GelbooruBase():
class GelbooruTagExtractor(GelbooruBase,
gelbooru_v02.GelbooruV02TagExtractor):
"""Extractor for images from gelbooru.com based on search-tags"""
- pattern = BASE_PATTERN + r"page=post&s=list&tags=([^&#]+)"
+ pattern = BASE_PATTERN + r"page=post&s=list&tags=([^&#]*)"
example = "https://gelbooru.com/index.php?page=post&s=list&tags=TAG"
@@ -169,7 +170,7 @@ class GelbooruFavoriteExtractor(GelbooruBase,
"limit": "1",
}
- count = self._api_request(params, "@attributes")[0]["count"]
+ count = self._api_request(params, "@attributes", True)[0]["count"]
if count <= self.offset:
return
@@ -186,7 +187,7 @@ class GelbooruFavoriteExtractor(GelbooruBase,
params["limit"] = self.per_page
while True:
- favs = self._api_request(params, "favorite")
+ favs = self._api_request(params, "favorite", True)
favs.reverse()
if skip: