diff --git a/gallery_dl/extractor/directlink.py b/gallery_dl/extractor/directlink.py index 26f21849..2f0230af 100644 --- a/gallery_dl/extractor/directlink.py +++ b/gallery_dl/extractor/directlink.py @@ -18,7 +18,8 @@ class DirectlinkExtractor(Extractor): filename_fmt = "{domain}/{path}/{filename}.{extension}" archive_fmt = filename_fmt pattern = (r"(?i)https?://(?P[^/?#]+)/(?P[^?#]+\." - r"(?:jpe?g|jpe|png|gif|web[mp]|mp4|mkv|og[gmv]|opus))" + r"(?:jpe?g|jpe|png|gif|bmp|svg|web[mp]|avif|heic|psd" + r"|mp4|m4v|mov|mkv|og[gmv]|wav|mp3|opus|zip|rar|7z|pdf|swf))" r"(?:\?(?P[^#]*))?(?:#(?P.*))?$") example = "https://en.wikipedia.org/static/images/project-logos/enwiki.png" diff --git a/test/results/directlink.py b/test/results/directlink.py index afa43b34..3309cef9 100644 --- a/test/results/directlink.py +++ b/test/results/directlink.py @@ -14,6 +14,7 @@ __tests__ = ( "#class" : directlink.DirectlinkExtractor, "#sha1_url" : "18c5d00077332e98e53be9fed2ee4be66154b88d", "#sha1_metadata": "105770a3f4393618ab7b811b731b22663b5d3794", + "#sha1_content" : "e6f58aaec8f31eb222f9e10fa9e9f64b79ae888c", }, { @@ -59,4 +60,115 @@ __tests__ = ( "#sha1_metadata": "fd5037fe86eebd4764e176cbaf318caec0f700be", }, +{ + "#url" : "https://example.org/file.gif", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.bmp", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.svg", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.webp", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.avif", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.heic", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.psd", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.mp4", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.m4v", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.mov", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.mkv", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.ogg", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.ogm", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.ogv", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.wav", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.mp3", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.opus", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.zip", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.rar", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.7z", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.pdf", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, +{ + "#url" : "https://example.org/file.swf", + "#category": ("", "directlink", ""), + "#class" : directlink.DirectlinkExtractor, +}, + )