[imgur] match gallery/album/image URLs with title slugs (#5593)

pull/5603/head
Mike Fährmann 4 months ago
parent 07d962d60a
commit 7f1ed909d5
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -68,7 +68,7 @@ class ImgurImageExtractor(ImgurExtractor):
filename_fmt = "{category}_{id}{title:?_//}.{extension}" filename_fmt = "{category}_{id}{title:?_//}.{extension}"
archive_fmt = "{id}" archive_fmt = "{id}"
pattern = (BASE_PATTERN + r"/(?!gallery|search)" pattern = (BASE_PATTERN + r"/(?!gallery|search)"
r"(?:r/\w+/)?(\w{7}|\w{5})[sbtmlh]?") r"(?:r/\w+/)?(?:[^/?#]+-)?(\w{7}|\w{5})[sbtmlh]?")
example = "https://imgur.com/abcdefg" example = "https://imgur.com/abcdefg"
def items(self): def items(self):
@ -93,7 +93,7 @@ class ImgurAlbumExtractor(ImgurExtractor):
directory_fmt = ("{category}", "{album[id]}{album[title]:? - //}") directory_fmt = ("{category}", "{album[id]}{album[title]:? - //}")
filename_fmt = "{category}_{album[id]}_{num:>03}_{id}.{extension}" filename_fmt = "{category}_{album[id]}_{num:>03}_{id}.{extension}"
archive_fmt = "{album[id]}_{id}" archive_fmt = "{album[id]}_{id}"
pattern = BASE_PATTERN + r"/a/(\w{7}|\w{5})" pattern = BASE_PATTERN + r"/a/(?:[^/?#]+-)?(\w{7}|\w{5})"
example = "https://imgur.com/a/abcde" example = "https://imgur.com/a/abcde"
def items(self): def items(self):
@ -126,7 +126,7 @@ class ImgurAlbumExtractor(ImgurExtractor):
class ImgurGalleryExtractor(ImgurExtractor): class ImgurGalleryExtractor(ImgurExtractor):
"""Extractor for imgur galleries""" """Extractor for imgur galleries"""
subcategory = "gallery" subcategory = "gallery"
pattern = BASE_PATTERN + r"/(?:gallery|t/\w+)/(\w{7}|\w{5})" pattern = BASE_PATTERN + r"/(?:gallery|t/\w+)/(?:[^/?#]+-)?(\w{7}|\w{5})"
example = "https://imgur.com/gallery/abcde" example = "https://imgur.com/gallery/abcde"
def items(self): def items(self):

@ -86,6 +86,13 @@ __tests__ = (
"#exception": exception.HttpError, "#exception": exception.HttpError,
}, },
{
"#url" : "https://imgur.com/test-21yMxCS",
"#comment" : "slug",
"#category": ("", "imgur", "image"),
"#class" : imgur.ImgurImageExtractor,
},
{ {
"#url" : "https://m.imgur.com/r/Celebs/iHJ7tsM", "#url" : "https://m.imgur.com/r/Celebs/iHJ7tsM",
"#category": ("", "imgur", "image"), "#category": ("", "imgur", "image"),
@ -258,6 +265,13 @@ __tests__ = (
"#exception": exception.HttpError, "#exception": exception.HttpError,
}, },
{
"#url" : "https://imgur.com/a/138-TcBmP",
"#comment" : "slug",
"#category": ("", "imgur", "album"),
"#class" : imgur.ImgurAlbumExtractor,
},
{ {
"#url" : "https://www.imgur.com/a/TcBmP", "#url" : "https://www.imgur.com/a/TcBmP",
"#comment" : "www", "#comment" : "www",
@ -294,6 +308,13 @@ __tests__ = (
"#exception": exception.HttpError, "#exception": exception.HttpError,
}, },
{
"#url" : "https://imgur.com/gallery/guy-gets-out-of-car-during-long-traffic-jam-to-pet-dog-zf2fIms",
"#comment" : "slug",
"#category": ("", "imgur", "gallery"),
"#class" : imgur.ImgurGalleryExtractor,
},
{ {
"#url" : "https://imgur.com/t/unmuted/26sEhNr", "#url" : "https://imgur.com/t/unmuted/26sEhNr",
"#category": ("", "imgur", "gallery"), "#category": ("", "imgur", "gallery"),

Loading…
Cancel
Save