[tenor] support URLs with language codes (#6075)

This commit is contained in:
Mike Fährmann
2025-03-07 11:17:27 +01:00
parent fac4ef5679
commit 639ddc95e7
2 changed files with 14 additions and 4 deletions

View File

@@ -11,7 +11,7 @@
from .common import Extractor, Message
from .. import text, util
BASE_PATTERN = r"(?:https?://)?tenor\.com"
BASE_PATTERN = r"(?:https?://)?tenor\.com/(?:\w\w(?:-\w\w)?/)?"
class TenorExtractor(Extractor):
@@ -107,7 +107,7 @@ class TenorExtractor(Extractor):
class TenorImageExtractor(TenorExtractor):
subcategory = "image"
pattern = BASE_PATTERN + r"/view/(?:[\w-]*-)?(\d+)"
pattern = BASE_PATTERN + r"view/(?:[\w-]*-)?(\d+)"
example = "https://tenor.com/view/SLUG-1234567890"
def gifs(self):
@@ -121,7 +121,7 @@ class TenorImageExtractor(TenorExtractor):
class TenorSearchExtractor(TenorExtractor):
subcategory = "search"
directory_fmt = ("{category}", "{search_tags}")
pattern = BASE_PATTERN + r"/search/([^/?#]+)"
pattern = BASE_PATTERN + r"search/([^/?#]+)"
example = "https://tenor.com/search/QUERY"
def metadata(self):
@@ -140,7 +140,7 @@ class TenorSearchExtractor(TenorExtractor):
class TenorUserExtractor(TenorExtractor):
subcategory = "user"
directory_fmt = ("{category}", "@{user[username]}")
pattern = BASE_PATTERN + r"/users/([^/?#]+)"
pattern = BASE_PATTERN + r"users/([^/?#]+)"
example = "https://tenor.com/users/USER"
def gifs(self):

View File

@@ -68,6 +68,11 @@ __tests__ = (
"#urls" : "https://media.tenor.com/dlGgz3LRXEMAAAAx/moving.webp",
},
{
"#url" : "https://tenor.com/ja/view/moving-gif-8525772382434057283",
"#class": tenor.TenorImageExtractor,
},
{
"#url" : "https://tenor.com/search/trees-gifs",
"#class" : tenor.TenorSearchExtractor,
@@ -78,6 +83,11 @@ __tests__ = (
"search_tags": "trees",
},
{
"#url" : "https://tenor.com/en-GB/search/trees-gifs",
"#class": tenor.TenorSearchExtractor,
},
{
"#url" : "https://tenor.com/search/trees-water-wind-sun-%3C&%3E-gifs",
"#class" : tenor.TenorSearchExtractor,