Files
gallery-dl/test/results/patreon.py
Octavia Togami 685777e43e [patreon] include full metadata with each URL (#4286 #8498)
* include full metadata object with each url
    Fixes #4286
* rename 'url_metadata' to 'file'
2025-11-20 19:30:13 +01:00

237 lines
7.2 KiB
Python

# -*- coding: utf-8 -*-
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
from gallery_dl.extractor import patreon
from gallery_dl import exception
__tests__ = (
{
"#url" : "https://www.patreon.com/koveliana",
"#class" : patreon.PatreonCreatorExtractor,
"#range" : "1-15",
"#count" : 15,
"attachments" : list,
"campaign" : dict,
"comment_count": int,
"content" : str,
"creator" : dict,
"date" : "type:datetime",
"id" : int,
"images" : list,
"like_count" : int,
"post_type" : str,
"published_at" : str,
"title" : str,
},
{
"#url" : "https://www.patreon.com/koveliana/posts?filters[month]=2020-3",
"#class" : patreon.PatreonCreatorExtractor,
"#count" : 1,
"date": "dt:2020-03-30 21:21:44",
},
{
"#url" : "https://www.patreon.com/kovelianot",
"#class" : patreon.PatreonCreatorExtractor,
"#exception": exception.NotFoundError,
},
{
"#url" : "https://www.patreon.com/cw/anythingelse",
"#comment" : "Next.js 13 - /cw/ URL",
"#class" : patreon.PatreonCreatorExtractor,
},
{
"#url" : "https://www.patreon.com/c/koveliana",
"#class" : patreon.PatreonCreatorExtractor,
},
{
"#url" : "https://www.patreon.com/user?u=2931440",
"#class" : patreon.PatreonCreatorExtractor,
},
{
"#url" : "https://www.patreon.com/user/posts/?u=2931440",
"#class" : patreon.PatreonCreatorExtractor,
},
{
"#url" : "https://www.patreon.com/user?c=369707",
"#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",
"#class" : patreon.PatreonCreatorExtractor,
},
{
"#url" : "https://www.patreon.com/create",
"#class" : patreon.PatreonCreatorExtractor,
"#fail" : True,
},
{
"#url" : "https://www.patreon.com/login",
"#class" : patreon.PatreonCreatorExtractor,
"#fail" : True,
},
{
"#url" : "https://www.patreon.com/search?q=foobar",
"#class" : patreon.PatreonCreatorExtractor,
"#fail" : True,
},
{
"#url" : "https://www.patreon.com/messages/?mode=user&tab=chats",
"#class" : patreon.PatreonCreatorExtractor,
"#fail" : True,
},
{
"#url" : "https://www.patreon.com/home",
"#class" : patreon.PatreonUserExtractor,
},
{
"#url" : "https://www.patreon.com/posts/precious-metal-23563293",
"#comment" : "postfile + attachments",
"#class" : patreon.PatreonPostExtractor,
"#count" : 4,
"file": {dict, None},
},
{
"#url" : "https://www.patreon.com/posts/free-mari-8s-113049301",
"#comment" : "'This page has been removed' - postfile + attachments_media (#6241)",
"#class" : patreon.PatreonPostExtractor,
"#exception": exception.NotFoundError,
},
{
"#url" : "https://www.patreon.com/posts/56127163",
"#comment" : "account suspended",
"#class" : patreon.PatreonPostExtractor,
"#count" : 0,
},
{
"#url" : "https://www.patreon.com/posts/free-post-12497641",
"#comment" : "tags (#1539)",
"#class" : patreon.PatreonPostExtractor,
"#pattern" : r"https://c10.patreonusercontent.com/4/patreon-media/p/post/12497641/3d99f5f5b635428ca237fedf0f223f1a/eyJhIjoxLCJwIjoxfQ%3D%3D/1\.JPG\?.+",
"tags": ["AWMedia"],
"campaign": {
"avatar_photo_image_urls": dict,
"avatar_photo_url": "https://c10.patreonusercontent.com/4/patreon-media/p/campaign/350434/cadc16f03fa1460f9185505b0a858c1b/eyJ3Ijo2MjB9/1.png?token-hash=tpUv_bM0-mEuUSizstb00UrVA-btPS5RyGSCWRx24oc%3D",
"creation_name": "creating Art Photography/Videography",
"currency": "USD",
"current_user_can_be_free_member": True,
"current_user_is_free_member": False,
"is_free_membership_paused": False,
"is_monthly": True,
"name": "ReedandWeep",
"offers_free_membership": True,
"offers_paid_membership": True,
"pay_per_name": "month",
"pledge_url": "https://www.patreon.com/checkout/Reedandweep",
"primary_theme_color": None,
"show_audio_post_download_links": True,
"show_free_membership_cta": False,
"url": "https://www.patreon.com/Reedandweep",
},
},
{
"#url" : "https://www.patreon.com/posts/free-post-12497641",
"#comment" : "custom image format (#6569)",
"#class" : patreon.PatreonPostExtractor,
"#options" : {"format-images": "thumbnail"},
"#pattern" : r"https://c10.patreonusercontent.com/4/patreon-media/p/post/12497641/3d99f5f5b635428ca237fedf0f223f1a/eyJoIjozNjAsInciOjM2MH0%3D/1\.JPG\?.+",
"#sha1_content": (
"2967d7567d55debdfa59cfd27cd5edf89d9c3503",
"190e249295eeca1a8ffbcf1aece788b4f69bbb64",
)
},
{
"#url" : "https://www.patreon.com/posts/m3u8-94714289",
"#class" : patreon.PatreonPostExtractor,
"#pattern" : [
r"https://c10\.patreonusercontent\.com/4/patreon-media/p/post/94714289/be3d8eb994ae44eca4baffcdc6dd25fc/eyJhIjoxLCJwIjoxfQ%3D%3D/1\.png",
r"ytdl:https://stream\.mux\.com/NLrxTLdxyGStpOgapJAtB8uPGAaokEcj8YovML00y2DY\.m3u8\?token=ey",
]
},
{
"#url" : "https://www.patreon.com/posts/not-found-123",
"#class" : patreon.PatreonPostExtractor,
"#exception": exception.NotFoundError,
},
{
"#url" : "https://www.patreon.com/collection/15764",
"#class" : patreon.PatreonCollectionExtractor,
"#range" : "1-3",
"#pattern" : (
r"https://c10.patreonusercontent.com/4/patreon-media/p/post/32798362/957d49296e4f48ef80718d0de98c15a4/eyJhIjoxLCJwIjoxfQ%3D%3D/2.jpg\?token-hash=.+",
r"ytdl:https://stream.mux.com/h4DYqFU901qkkAwYmRWZPraVk5DvTJTlcSdhGV00006KBE.m3u8\?token=ey.+",
r"https://c10.patreonusercontent.com/4/patreon-media/p/post/32798374/357b0133a476427a99169b4400ee03d4/eyJhIjoxLCJwIjoxfQ%3D%3D/2.jpg\?token-hash=.+",
),
"campaign" : {
"currency" : "USD",
"is_monthly" : True,
"is_nsfw" : False,
"name" : "YaBoyRoshi",
},
"collection" : {
"created_at" : "2023-08-31T14:10:41.000+00:00",
"date" : "dt:2023-08-31 14:10:41",
"default_layout" : "grid",
"description" : "",
"edited_at" : "2025-07-16T22:58:10.834+00:00",
"id" : "15764",
"num_draft_posts": 0,
"num_posts" : 207,
"num_posts_visible_for_creation": 207,
"num_scheduled_posts": 8,
"post_sort_type" : "custom",
"title" : "JoJo's Bizarre Adventure",
"post_ids" : list,
"thumbnail" : dict,
},
"creator" : {
"date" : "dt:2018-10-17 05:45:19",
"first_name": "YaBoyRoshi",
"full_name" : "YaBoyRoshi",
"id" : "14264111",
"vanity" : "yaboyroshi",
},
},
)