diff --git a/docs/configuration.rst b/docs/configuration.rst index c288cb27..837db6cd 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -806,17 +806,15 @@ Description Download embedded videos hosted on https://www.blogger.com/ -extractor.danbooru.ugoira -------------------------- +extractor.danbooru.external +--------------------------- Type ``bool`` Default ``false`` Description - Controls the download target for Ugoira posts. - - * ``true``: Original ZIP archives - * ``false``: Converted video files + For unavailable or restricted posts, + follow the ``source`` and download from there if possible. extractor.danbooru.metadata @@ -831,6 +829,19 @@ Description Note: This requires 1 additional HTTP request for each post. +extractor.danbooru.ugoira +------------------------- +Type + ``bool`` +Default + ``false`` +Description + Controls the download target for Ugoira posts. + + * ``true``: Original ZIP archives + * ``false``: Converted video files + + extractor.derpibooru.api-key ---------------------------- Type diff --git a/docs/gallery-dl.conf b/docs/gallery-dl.conf index 61db71f0..4399f674 100644 --- a/docs/gallery-dl.conf +++ b/docs/gallery-dl.conf @@ -52,8 +52,9 @@ { "username": null, "password": null, - "ugoira": false, - "metadata": false + "external": false, + "metadata": false, + "ugoira": false }, "derpibooru": { diff --git a/gallery_dl/extractor/danbooru.py b/gallery_dl/extractor/danbooru.py index 3b96a4e6..c6c33b4b 100644 --- a/gallery_dl/extractor/danbooru.py +++ b/gallery_dl/extractor/danbooru.py @@ -32,6 +32,7 @@ class DanbooruExtractor(Extractor): super().__init__(match) self.root = "https://{}.donmai.us".format(match.group(1)) self.ugoira = self.config("ugoira", False) + self.external = self.config("external", False) self.extended_metadata = self.config("metadata", False) username, api_key = self._get_auth_info() @@ -52,6 +53,10 @@ class DanbooruExtractor(Extractor): try: url = post["file_url"] except KeyError: + if self.external and post["source"]: + post.update(data) + yield Message.Directory, post + yield Message.Queue, post["source"], post continue text.nameext_from_url(url, post) @@ -126,6 +131,11 @@ class DanbooruTagExtractor(DanbooruExtractor): ("https://danbooru.donmai.us/posts?tags=mushishi", { "count": ">= 300", }), + # 'external' option (#1747) + ("https://danbooru.donmai.us/posts?tags=pixiv_id%3A1476533", { + "options": (("external", True),), + "pattern": r"http://img16.pixiv.net/img/takaraakihito/1476533.jpg", + }), ("https://hijiribe.donmai.us/posts?tags=bonocho"), ("https://sonohara.donmai.us/posts?tags=bonocho"), ("https://safebooru.donmai.us/posts?tags=bonocho"),