diff options
Diffstat (limited to 'gallery_dl/extractor/catbox.py')
| -rw-r--r-- | gallery_dl/extractor/catbox.py | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/gallery_dl/extractor/catbox.py b/gallery_dl/extractor/catbox.py index 509108f..7a21d2a 100644 --- a/gallery_dl/extractor/catbox.py +++ b/gallery_dl/extractor/catbox.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright 2022 Mike Fährmann +# Copyright 2022-2023 Mike Fährmann # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -8,7 +8,7 @@ """Extractors for https://catbox.moe/""" -from .common import GalleryExtractor +from .common import GalleryExtractor, Extractor, Message from .. import text @@ -54,3 +54,26 @@ class CatboxAlbumExtractor(GalleryExtractor): for path in text.extract_iter( page, ">https://files.catbox.moe/", "<") ] + + +class CatboxFileExtractor(Extractor): + """Extractor for catbox files""" + category = "catbox" + subcategory = "file" + archive_fmt = "{filename}" + pattern = r"(?:https?://)?(?:files|litter|de)\.catbox\.moe/([^/?#]+)" + test = ( + ("https://files.catbox.moe/8ih3y7.png", { + "pattern": r"^https://files\.catbox\.moe/8ih3y7\.png$", + "content": "0c8768055e4e20e7c7259608b67799171b691140", + "count": 1, + }), + ("https://litter.catbox.moe/t8v3n9.png"), + ("https://de.catbox.moe/bjdmz1.jpg"), + ) + + def items(self): + url = text.ensure_http_scheme(self.url) + file = text.nameext_from_url(url, {"url": url}) + yield Message.Directory, file + yield Message.Url, url, file |
