diff --git a/gallery_dl/extractor/weasyl.py b/gallery_dl/extractor/weasyl.py index 5b4b20b7..13b05206 100644 --- a/gallery_dl/extractor/weasyl.py +++ b/gallery_dl/extractor/weasyl.py @@ -160,50 +160,44 @@ class WeasylJournalsExtractor(WeasylExtractor): class WeasylFavoriteExtractor(WeasylExtractor): subcategory = "favorite" directory_fmt = ("{category}", "{user}", "Favorites") - pattern = BASE_PATTERN + r"favorites(?:\?userid=(\d+)|\/([\w~-]+))" + pattern = BASE_PATTERN + r"favorites(?:\?userid=(\d+)|/([^/?#]+))" example = "https://www.weasyl.com/favorites?userid=12345" - def __init__(self, match): - WeasylExtractor.__init__(self, match) - self.userid = match.group(1) - self.username = match.group(2) - def items(self): - if self.userid is None and self.username is not None: - new_url = self.root + "/favorites/{}".format(self.username) - page = self.request(new_url).text - self.userid = text.extr( - page, - 'Next (', pos) + except ValueError: return - params["nextid"] = submitid + path = text.unescape(text.rextract(page, 'href="', '"', pos)[0]) + params = None