aboutsummaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/patreon.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2025-03-01 19:51:45 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2025-03-01 19:51:45 -0500
commitbc1c79d35e0a75bc8da8f6f010df779c4acca201 (patch)
tree9d8808a5aec770221eb667160a3fbda61f9d5d49 /gallery_dl/extractor/patreon.py
parent75e3edb22dad2fc506494bb90ee6b331f5169adf (diff)
parent889c7b8caec8fc0b9c7a583ed1d9cfa43518fc42 (diff)
Update upstream source from tag 'upstream/1.29.0'
Update to upstream version '1.29.0' with Debian dir 7b309aa6ccc040a2faaf51d37a63f5233590a8d7
Diffstat (limited to 'gallery_dl/extractor/patreon.py')
-rw-r--r--gallery_dl/extractor/patreon.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/gallery_dl/extractor/patreon.py b/gallery_dl/extractor/patreon.py
index 866e93a..f5a33d5 100644
--- a/gallery_dl/extractor/patreon.py
+++ b/gallery_dl/extractor/patreon.py
@@ -169,6 +169,12 @@ class PatreonExtractor(Extractor):
attr["date"] = text.parse_datetime(
attr["published_at"], "%Y-%m-%dT%H:%M:%S.%f%z")
+ try:
+ attr["campaign"] = (included["campaign"][
+ relationships["campaign"]["data"]["id"]])
+ except Exception:
+ attr["campaign"] = None
+
tags = relationships.get("user_defined_tags")
attr["tags"] = [
tag["id"].replace("user_defined;", "")
@@ -324,7 +330,8 @@ class PatreonCreatorExtractor(PatreonExtractor):
subcategory = "creator"
pattern = (r"(?:https?://)?(?:www\.)?patreon\.com"
r"/(?!(?:home|join|posts|login|signup)(?:$|[/?#]))"
- r"(?:c/)?([^/?#]+)(?:/posts)?/?(?:\?([^#]+))?")
+ r"(?:profile/creators|(?:c/)?([^/?#]+)(?:/posts)?)"
+ r"/?(?:\?([^#]+))?")
example = "https://www.patreon.com/USER"
def posts(self):
@@ -345,7 +352,7 @@ class PatreonCreatorExtractor(PatreonExtractor):
return self._pagination(url)
def _get_campaign_id(self, creator, query):
- if creator.startswith("id:"):
+ if creator and creator.startswith("id:"):
return creator[3:]
campaign_id = query.get("c") or query.get("campaign_id")