summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/gelbooru_v02.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/gelbooru_v02.py')
-rw-r--r--gallery_dl/extractor/gelbooru_v02.py170
1 files changed, 9 insertions, 161 deletions
diff --git a/gallery_dl/extractor/gelbooru_v02.py b/gallery_dl/extractor/gelbooru_v02.py
index 958c4b5..0864b9f 100644
--- a/gallery_dl/extractor/gelbooru_v02.py
+++ b/gallery_dl/extractor/gelbooru_v02.py
@@ -19,8 +19,7 @@ import re
class GelbooruV02Extractor(booru.BooruExtractor):
basecategory = "gelbooru_v02"
- def __init__(self, match):
- booru.BooruExtractor.__init__(self, match)
+ def _init(self):
self.api_key = self.config("api-key")
self.user_id = self.config("user-id")
@@ -184,6 +183,10 @@ INSTANCES = {
"root": "https://hypnohub.net",
"pattern": r"hypnohub\.net",
},
+ "xbooru": {
+ "root": "https://xbooru.com",
+ "pattern": r"xbooru\.com",
+ },
}
BASE_PATTERN = GelbooruV02Extractor.update(INSTANCES)
@@ -194,27 +197,7 @@ class GelbooruV02TagExtractor(GelbooruV02Extractor):
directory_fmt = ("{category}", "{search_tags}")
archive_fmt = "t_{search_tags}_{id}"
pattern = BASE_PATTERN + r"/index\.php\?page=post&s=list&tags=([^&#]+)"
- test = (
- ("https://rule34.xxx/index.php?page=post&s=list&tags=danraku", {
- "content": ("5c6ae9ee13e6d4bc9cb8bdce224c84e67fbfa36c",
- "622e80be3f496672c44aab5c47fbc6941c61bc79"),
- "pattern": r"https?://.*rule34\.xxx/images/\d+/[0-9a-f]+\.jpg",
- "count": 2,
- }),
- ("https://safebooru.org/index.php?page=post&s=list&tags=bonocho", {
- "url": "17c61b386530cf4c30842c9f580d15ef1cd09586",
- "content": "e5ad4c5bf241b1def154958535bef6c2f6b733eb",
- }),
- ("https://realbooru.com/index.php?page=post&s=list&tags=wine", {
- "count": ">= 64",
- }),
- ("https://tbib.org/index.php?page=post&s=list&tags=yuyaiyaui", {
- "count": ">= 120",
- }),
- ("https://hypnohub.net/index.php?page=post&s=list&tags=gonoike_biwa", {
- "url": "fe662b86d38c331fcac9c62af100167d404937dc",
- }),
- )
+ example = "https://safebooru.org/index.php?page=post&s=list&tags=TAG"
def __init__(self, match):
GelbooruV02Extractor.__init__(self, match)
@@ -233,21 +216,7 @@ class GelbooruV02PoolExtractor(GelbooruV02Extractor):
directory_fmt = ("{category}", "pool", "{pool}")
archive_fmt = "p_{pool}_{id}"
pattern = BASE_PATTERN + r"/index\.php\?page=pool&s=show&id=(\d+)"
- test = (
- ("https://rule34.xxx/index.php?page=pool&s=show&id=179", {
- "count": 3,
- }),
- ("https://safebooru.org/index.php?page=pool&s=show&id=11", {
- "count": 5,
- }),
- ("https://realbooru.com/index.php?page=pool&s=show&id=1", {
- "count": 3,
- }),
- ("https://hypnohub.net/index.php?page=pool&s=show&id=61", {
- "url": "d314826280073441a2da609f70ee814d1f4b9407",
- "count": 3,
- }),
- )
+ example = "https://safebooru.org/index.php?page=pool&s=show&id=12345"
def __init__(self, match):
GelbooruV02Extractor.__init__(self, match)
@@ -299,23 +268,7 @@ class GelbooruV02FavoriteExtractor(GelbooruV02Extractor):
archive_fmt = "f_{favorite_id}_{id}"
per_page = 50
pattern = BASE_PATTERN + r"/index\.php\?page=favorites&s=view&id=(\d+)"
- test = (
- ("https://rule34.xxx/index.php?page=favorites&s=view&id=1030218", {
- "count": 3,
- }),
- ("https://safebooru.org/index.php?page=favorites&s=view&id=17567", {
- "count": 2,
- }),
- ("https://realbooru.com/index.php?page=favorites&s=view&id=274", {
- "count": 2,
- }),
- ("https://tbib.org/index.php?page=favorites&s=view&id=7881", {
- "count": 3,
- }),
- ("https://hypnohub.net/index.php?page=favorites&s=view&id=43546", {
- "count": 3,
- }),
- )
+ example = "https://safebooru.org/index.php?page=favorites&s=view&id=12345"
def __init__(self, match):
GelbooruV02Extractor.__init__(self, match)
@@ -336,112 +289,7 @@ class GelbooruV02PostExtractor(GelbooruV02Extractor):
subcategory = "post"
archive_fmt = "{id}"
pattern = BASE_PATTERN + r"/index\.php\?page=post&s=view&id=(\d+)"
- test = (
- ("https://rule34.xxx/index.php?page=post&s=view&id=863", {
- "pattern": r"https://api-cdn\.rule34\.xxx/images"
- r"/1/6aafbdb3e22f3f3b412ea2cf53321317a37063f3\.jpg",
- "content": ("a43f418aa350039af0d11cae501396a33bbe2201",
- "67b516295950867e1c1ab6bc13b35d3b762ed2a3"),
- "options": (("tags", True), ("notes", True)),
- "keyword": {
- "tags_artist": "reverse_noise yamu_(reverse_noise)",
- "tags_character": "hong_meiling",
- "tags_copyright": "touhou",
- "tags_general": str,
- "tags_metadata": "censored translated",
- "notes": [
- {
- "body": "It feels angry, I'm losing myself... "
- "It won't calm down!",
- "height": 65,
- "id": 93586,
- "width": 116,
- "x": 22,
- "y": 333,
- },
- {
- "body": "REPUTATION OF RAGE",
- "height": 272,
- "id": 93587,
- "width": 199,
- "x": 78,
- "y": 442,
- },
- ],
-
- },
- }),
- ("https://hypnohub.net/index.php?page=post&s=view&id=1439", {
- "pattern": r"https://hypnohub\.net/images"
- r"/90/24/90245c3c5250c2a8173255d3923a010b\.jpg",
- "content": "5987c5d2354f22e5fa9b7ee7ce4a6f7beb8b2b71",
- "options": (("tags", True), ("notes", True)),
- "keyword": {
- "tags_artist": "brokenteapot",
- "tags_character": "hsien-ko",
- "tags_copyright": "capcom darkstalkers",
- "tags_general": str,
- "tags_metadata": "dialogue text translated",
- "notes": [
- {
- "body": "Master Master Master "
- "Master Master Master",
- "height": 83,
- "id": 10577,
- "width": 129,
- "x": 259,
- "y": 20,
- },
- {
- "body": "Response Response Response "
- "Response Response Response",
- "height": 86,
- "id": 10578,
- "width": 125,
- "x": 126,
- "y": 20,
- },
- {
- "body": "Obedience Obedience Obedience "
- "Obedience Obedience Obedience",
- "height": 80,
- "id": 10579,
- "width": 98,
- "x": 20,
- "y": 20,
- },
- ],
-
- },
- }),
- ("https://safebooru.org/index.php?page=post&s=view&id=1169132", {
- "url": "cf05e37a3c62b2d55788e2080b8eabedb00f999b",
- "content": "93b293b27dabd198afafabbaf87c49863ac82f27",
- "options": (("tags", True),),
- "keyword": {
- "tags_artist": "kawanakajima",
- "tags_character": "heath_ledger ronald_mcdonald the_joker",
- "tags_copyright": "dc_comics mcdonald's the_dark_knight",
- "tags_general": str,
- },
- }),
- ("https://realbooru.com/index.php?page=post&s=view&id=668483", {
- "pattern": r"https://realbooru\.com//?images/dc/b5"
- r"/dcb5c0ce9ec0bf74a6930608985f4719\.jpeg",
- "content": "7f5873ce3b6cd295ea2e81fcb49583098ea9c8da",
- "options": (("tags", True),),
- "keyword": {
- "tags_general": "1girl blonde blonde_hair blue_eyes cute "
- "female female_only looking_at_viewer smile "
- "solo solo_female teeth",
- "tags_model": "jennifer_lawrence",
- },
- }),
- ("https://tbib.org/index.php?page=post&s=view&id=9233957", {
- "url": "5a6ebe07bfff8e6d27f7c30b5480f27abcb577d2",
- "content": "1c3831b6fbaa4686e3c79035b5d98460b1c85c43",
- }),
- )
+ example = "https://safebooru.org/index.php?page=post&s=view&id=12345"
def __init__(self, match):
GelbooruV02Extractor.__init__(self, match)