[patreon] support '/profile/creators' URLs
This commit is contained in:
@@ -324,7 +324,8 @@ class PatreonCreatorExtractor(PatreonExtractor):
|
|||||||
subcategory = "creator"
|
subcategory = "creator"
|
||||||
pattern = (r"(?:https?://)?(?:www\.)?patreon\.com"
|
pattern = (r"(?:https?://)?(?:www\.)?patreon\.com"
|
||||||
r"/(?!(?:home|join|posts|login|signup)(?:$|[/?#]))"
|
r"/(?!(?:home|join|posts|login|signup)(?:$|[/?#]))"
|
||||||
r"(?:c/)?([^/?#]+)(?:/posts)?/?(?:\?([^#]+))?")
|
r"(?:profile/creators|(?:c/)?([^/?#]+)(?:/posts)?)"
|
||||||
|
r"/?(?:\?([^#]+))?")
|
||||||
example = "https://www.patreon.com/USER"
|
example = "https://www.patreon.com/USER"
|
||||||
|
|
||||||
def posts(self):
|
def posts(self):
|
||||||
@@ -345,7 +346,7 @@ class PatreonCreatorExtractor(PatreonExtractor):
|
|||||||
return self._pagination(url)
|
return self._pagination(url)
|
||||||
|
|
||||||
def _get_campaign_id(self, creator, query):
|
def _get_campaign_id(self, creator, query):
|
||||||
if creator.startswith("id:"):
|
if creator and creator.startswith("id:"):
|
||||||
return creator[3:]
|
return creator[3:]
|
||||||
|
|
||||||
campaign_id = query.get("c") or query.get("campaign_id")
|
campaign_id = query.get("c") or query.get("campaign_id")
|
||||||
|
|||||||
@@ -63,6 +63,16 @@ __tests__ = (
|
|||||||
"#class" : patreon.PatreonCreatorExtractor,
|
"#class" : patreon.PatreonCreatorExtractor,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"#url" : "https://www.patreon.com/profile/creators?u=2931440",
|
||||||
|
"#class" : patreon.PatreonCreatorExtractor,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"#url" : "https://www.patreon.com/profile/creators?c=369707",
|
||||||
|
"#class" : patreon.PatreonCreatorExtractor,
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"#url" : "https://www.patreon.com/id:369707",
|
"#url" : "https://www.patreon.com/id:369707",
|
||||||
"#class" : patreon.PatreonCreatorExtractor,
|
"#class" : patreon.PatreonCreatorExtractor,
|
||||||
|
|||||||
Reference in New Issue
Block a user