diff --git a/gallery_dl/extractor/tumblr.py b/gallery_dl/extractor/tumblr.py index 8d1fcde5..6f2114e5 100644 --- a/gallery_dl/extractor/tumblr.py +++ b/gallery_dl/extractor/tumblr.py @@ -17,7 +17,7 @@ import re BASE_PATTERN = ( r"(?:tumblr:(?:https?://)?([^/]+)|" r"(?:https?://)?" - r"(?:www\.tumblr\.com/(?:blog/(?:view/)?)?([\w-]+)|" + r"(?:(?:www\.)?tumblr\.com/(?:blog/(?:view/)?)?([\w-]+)|" r"([\w-]+\.tumblr\.com)))" ) @@ -357,7 +357,7 @@ class TumblrLikesExtractor(TumblrExtractor): class TumblrSearchExtractor(TumblrExtractor): """Extractor for a Tumblr search""" subcategory = "search" - pattern = (BASE_PATTERN + r"/search/([^/?#]+)" + pattern = (r"(?:https?://)?(?:www\.)?tumblr\.com/search/([^/?#]+)" r"(?:/([^/?#]+)(?:/([^/?#]+))?)?(?:/?\?([^#]+))?") example = "https://www.tumblr.com/search/QUERY" diff --git a/test/results/tumblr.py b/test/results/tumblr.py index 50b67676..81d2b093 100644 --- a/test/results/tumblr.py +++ b/test/results/tumblr.py @@ -92,6 +92,13 @@ __tests__ = ( "#count" : 4, }, +{ + "#url" : "https://tumblr.com/mikf123", + "#comment" : "no 'www.' subdomain (#7358)", + "#category": ("", "tumblr", "user"), + "#class" : tumblr.TumblrUserExtractor, +}, + { "#url" : "https://donttrustthetits.tumblr.com/", "#comment" : "pagination with 'date-max' (#2191) and 'api-key'", @@ -273,6 +280,12 @@ __tests__ = ( "#class" : tumblr.TumblrPostExtractor, }, +{ + "#url" : "https://tumblr.com/smarties-art/686047436641353728", + "#category": ("", "tumblr", "post"), + "#class" : tumblr.TumblrPostExtractor, +}, + { "#url" : "http://demo.tumblr.com/tagged/Times%20Square", "#category": ("", "tumblr", "tag"), @@ -360,6 +373,12 @@ __tests__ = ( "#class" : tumblr.TumblrLikesExtractor, }, +{ + "#url" : "https://tumblr.com/mikf123/likes", + "#category": ("", "tumblr", "likes"), + "#class" : tumblr.TumblrLikesExtractor, +}, + { "#url" : "https://www.tumblr.com/search/nathan fielder", "#category": ("", "tumblr", "search"), @@ -377,4 +396,11 @@ __tests__ = ( "#category": ("", "tumblr", "search"), "#class" : tumblr.TumblrSearchExtractor, }, + +{ + "#url" : "https://tumblr.com/search/nathan%20fielder?t=90", + "#category": ("", "tumblr", "search"), + "#class" : tumblr.TumblrSearchExtractor, +}, + )