diff options
| author | 2021-09-09 01:57:57 -0400 | |
|---|---|---|
| committer | 2021-09-09 01:57:57 -0400 | |
| commit | 3f5483df9075ae526f4c54f4cbe80edeabf6d4cc (patch) | |
| tree | 6b2194fa03fd58ac35114c0dbec7561612a584b8 /gallery_dl/extractor/furaffinity.py | |
| parent | d50ba9cfe80f00e02ca9a4714f75699c00e67128 (diff) | |
New upstream version 1.18.4.upstream/1.18.4
Diffstat (limited to 'gallery_dl/extractor/furaffinity.py')
| -rw-r--r-- | gallery_dl/extractor/furaffinity.py | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/gallery_dl/extractor/furaffinity.py b/gallery_dl/extractor/furaffinity.py index 8c2887e..9516dfa 100644 --- a/gallery_dl/extractor/furaffinity.py +++ b/gallery_dl/extractor/furaffinity.py @@ -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): |
