diff options
author | bashonly <88596187+bashonly@users.noreply.github.com> | 2024-10-12 23:23:03 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-12 23:23:03 +0000 |
commit | babb70960595e2146f06f81affc29c7e713e34e2 (patch) | |
tree | 069fb5f623c537c656b0a0c145513062d513b482 /yt_dlp/extractor/patreon.py | |
parent | 9d43dcb2c5c38f443f84dfc126cd32720e1a1ad6 (diff) |
[ie/patreon:campaign] Stricter URL matching (#11235)
Redefinition of suitable() is no longer necessary
Closes #11233
Authored by: bashonly
Diffstat (limited to 'yt_dlp/extractor/patreon.py')
-rw-r--r-- | yt_dlp/extractor/patreon.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/yt_dlp/extractor/patreon.py b/yt_dlp/extractor/patreon.py index f5cb2a5d6..4d668cd37 100644 --- a/yt_dlp/extractor/patreon.py +++ b/yt_dlp/extractor/patreon.py @@ -55,6 +55,7 @@ class PatreonBaseIE(InfoExtractor): class PatreonIE(PatreonBaseIE): + IE_NAME = 'patreon' _VALID_URL = r'https?://(?:www\.)?patreon\.com/(?:creation\?hid=|posts/(?:[\w-]+-)?)(?P<id>\d+)' _TESTS = [{ 'url': 'http://www.patreon.com/creation?hid=743933', @@ -433,8 +434,12 @@ class PatreonIE(PatreonBaseIE): class PatreonCampaignIE(PatreonBaseIE): - - _VALID_URL = r'https?://(?:www\.)?patreon\.com/(?!rss)(?:(?:m|api/campaigns)/(?P<campaign_id>\d+)|(?P<vanity>[-\w]+))' + IE_NAME = 'patreon:campaign' + _VALID_URL = r'''(?x) + https?://(?:www\.)?patreon\.com/(?: + (?:m|api/campaigns)/(?P<campaign_id>\d+)| + (?P<vanity>(?!creation[?/]|posts/|rss[?/])[\w-]+) + )(?:/posts)?/?(?:$|[?#])''' _TESTS = [{ 'url': 'https://www.patreon.com/dissonancepod/', 'info_dict': { @@ -496,10 +501,6 @@ class PatreonCampaignIE(PatreonBaseIE): 'only_matching': True, }] - @classmethod - def suitable(cls, url): - return False if PatreonIE.suitable(url) else super().suitable(url) - def _entries(self, campaign_id): cursor = None params = { |