[furaffinity] expand URL pattern for searches (closes #1780)

This commit is contained in:
Mike Fährmann
2021-08-23 23:38:52 +02:00
parent 0817f468ef
commit 6b229ac829

View File

@@ -232,16 +232,27 @@ class FuraffinitySearchExtractor(FuraffinityExtractor):
"""Extractor for furaffinity search results"""
subcategory = "search"
directory_fmt = ("{category}", "Search", "{search}")
pattern = BASE_PATTERN + r"/search/?\?([^#]+)"
test = ("https://www.furaffinity.net/search/?q=cute", {
"pattern": r"https://d\d?\.f(uraffinity|acdn)\.net"
r"/art/[^/]+/\d+/\d+.\w+\.\w+",
"range": "45-50",
"count": 6,
})
pattern = BASE_PATTERN + r"/search(?:/([^/?#]+))?/?[?&]([^#]+)"
test = (
("https://www.furaffinity.net/search/?q=cute", {
"pattern": r"https://d\d?\.f(uraffinity|acdn)\.net"
r"/art/[^/]+/\d+/\d+.\w+\.\w+",
"range": "45-50",
"count": 6,
}),
("https://www.furaffinity.net/search/cute&rating-general=0", {
"range": "1",
"count": 1,
}),
)
def __init__(self, match):
FuraffinityExtractor.__init__(self, match)
self.query = text.parse_query(match.group(2))
if self.user and "q" not in self.query:
self.query["q"] = text.unescape(self.user)
def metadata(self):
self.query = text.parse_query(self.user)
return {"search": self.query.get("q")}
def posts(self):