[tenor] support URLs with language codes (#6075)
This commit is contained in:
@@ -11,7 +11,7 @@
|
|||||||
from .common import Extractor, Message
|
from .common import Extractor, Message
|
||||||
from .. import text, util
|
from .. import text, util
|
||||||
|
|
||||||
BASE_PATTERN = r"(?:https?://)?tenor\.com"
|
BASE_PATTERN = r"(?:https?://)?tenor\.com/(?:\w\w(?:-\w\w)?/)?"
|
||||||
|
|
||||||
|
|
||||||
class TenorExtractor(Extractor):
|
class TenorExtractor(Extractor):
|
||||||
@@ -107,7 +107,7 @@ class TenorExtractor(Extractor):
|
|||||||
|
|
||||||
class TenorImageExtractor(TenorExtractor):
|
class TenorImageExtractor(TenorExtractor):
|
||||||
subcategory = "image"
|
subcategory = "image"
|
||||||
pattern = BASE_PATTERN + r"/view/(?:[\w-]*-)?(\d+)"
|
pattern = BASE_PATTERN + r"view/(?:[\w-]*-)?(\d+)"
|
||||||
example = "https://tenor.com/view/SLUG-1234567890"
|
example = "https://tenor.com/view/SLUG-1234567890"
|
||||||
|
|
||||||
def gifs(self):
|
def gifs(self):
|
||||||
@@ -121,7 +121,7 @@ class TenorImageExtractor(TenorExtractor):
|
|||||||
class TenorSearchExtractor(TenorExtractor):
|
class TenorSearchExtractor(TenorExtractor):
|
||||||
subcategory = "search"
|
subcategory = "search"
|
||||||
directory_fmt = ("{category}", "{search_tags}")
|
directory_fmt = ("{category}", "{search_tags}")
|
||||||
pattern = BASE_PATTERN + r"/search/([^/?#]+)"
|
pattern = BASE_PATTERN + r"search/([^/?#]+)"
|
||||||
example = "https://tenor.com/search/QUERY"
|
example = "https://tenor.com/search/QUERY"
|
||||||
|
|
||||||
def metadata(self):
|
def metadata(self):
|
||||||
@@ -140,7 +140,7 @@ class TenorSearchExtractor(TenorExtractor):
|
|||||||
class TenorUserExtractor(TenorExtractor):
|
class TenorUserExtractor(TenorExtractor):
|
||||||
subcategory = "user"
|
subcategory = "user"
|
||||||
directory_fmt = ("{category}", "@{user[username]}")
|
directory_fmt = ("{category}", "@{user[username]}")
|
||||||
pattern = BASE_PATTERN + r"/users/([^/?#]+)"
|
pattern = BASE_PATTERN + r"users/([^/?#]+)"
|
||||||
example = "https://tenor.com/users/USER"
|
example = "https://tenor.com/users/USER"
|
||||||
|
|
||||||
def gifs(self):
|
def gifs(self):
|
||||||
|
|||||||
@@ -68,6 +68,11 @@ __tests__ = (
|
|||||||
"#urls" : "https://media.tenor.com/dlGgz3LRXEMAAAAx/moving.webp",
|
"#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",
|
"#url" : "https://tenor.com/search/trees-gifs",
|
||||||
"#class" : tenor.TenorSearchExtractor,
|
"#class" : tenor.TenorSearchExtractor,
|
||||||
@@ -78,6 +83,11 @@ __tests__ = (
|
|||||||
"search_tags": "trees",
|
"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",
|
"#url" : "https://tenor.com/search/trees-water-wind-sun-%3C&%3E-gifs",
|
||||||
"#class" : tenor.TenorSearchExtractor,
|
"#class" : tenor.TenorSearchExtractor,
|
||||||
|
|||||||
Reference in New Issue
Block a user