From b1b01f56afdf2c805769613feafbd4e845a1398a Mon Sep 17 00:00:00 2001 From: Deer-Spangle Date: Sat, 31 Aug 2024 12:56:50 +0100 Subject: [PATCH] Add support for the readable URL format of Weasyl favourites page --- gallery_dl/extractor/weasyl.py | 8 +++++++- test/results/weasyl.py | 7 +++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/gallery_dl/extractor/weasyl.py b/gallery_dl/extractor/weasyl.py index ddbfaa06d6..8ea448cd7f 100644 --- a/gallery_dl/extractor/weasyl.py +++ b/gallery_dl/extractor/weasyl.py @@ -160,14 +160,20 @@ def items(self): class WeasylFavoriteExtractor(WeasylExtractor): subcategory = "favorite" directory_fmt = ("{category}", "{owner_login}", "Favorites") - pattern = BASE_PATTERN + r"favorites\?userid=(\d+)" + pattern = BASE_PATTERN + r"favorites(?:\?userid=(\d+)|\/([\w~-]+))" 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 + f"/favorites/{self.username}" + page = self.request(new_url).text + self.userid = text.extr(page, '= 5", }, +{ + "#url" : "https://www.weasyl.com/favorites/furoferre", + "#category": ("", "weasyl", "favorite"), + "#class" : weasyl.WeasylFavoriteExtractor, + "#count" : ">= 5", +} + )