mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-06-21 18:24:47 +00:00
Compare commits
4 Commits
6fef824025
...
f6c73aad5f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f6c73aad5f | ||
|
|
d5e2a379f2 | ||
|
|
bc262bcad4 | ||
|
|
f4d3e9e6dc |
@ -457,7 +457,7 @@ class PatreonCampaignIE(PatreonBaseIE):
|
|||||||
_VALID_URL = r'''(?x)
|
_VALID_URL = r'''(?x)
|
||||||
https?://(?:www\.)?patreon\.com/(?:
|
https?://(?:www\.)?patreon\.com/(?:
|
||||||
(?:m|api/campaigns)/(?P<campaign_id>\d+)|
|
(?:m|api/campaigns)/(?P<campaign_id>\d+)|
|
||||||
(?P<vanity>(?!creation[?/]|posts/|rss[?/])[\w-]+)
|
(?:c/)?(?P<vanity>(?!creation[?/]|posts/|rss[?/])[\w-]+)
|
||||||
)(?:/posts)?/?(?:$|[?#])'''
|
)(?:/posts)?/?(?:$|[?#])'''
|
||||||
_TESTS = [{
|
_TESTS = [{
|
||||||
'url': 'https://www.patreon.com/dissonancepod/',
|
'url': 'https://www.patreon.com/dissonancepod/',
|
||||||
@ -509,6 +509,26 @@ class PatreonCampaignIE(PatreonBaseIE):
|
|||||||
'thumbnail': r're:^https?://.*$',
|
'thumbnail': r're:^https?://.*$',
|
||||||
},
|
},
|
||||||
'playlist_mincount': 201,
|
'playlist_mincount': 201,
|
||||||
|
}, {
|
||||||
|
'url': 'https://www.patreon.com/c/OgSog',
|
||||||
|
'info_dict': {
|
||||||
|
'id': '8504388',
|
||||||
|
'title': 'OGSoG',
|
||||||
|
'description': r're:(?s)Hello and welcome to our Patreon page. We are Mari, Lasercorn, .+',
|
||||||
|
'channel': 'OGSoG',
|
||||||
|
'channel_id': '8504388',
|
||||||
|
'channel_url': 'https://www.patreon.com/OgSog',
|
||||||
|
'uploader_url': 'https://www.patreon.com/OgSog',
|
||||||
|
'uploader_id': '72323575',
|
||||||
|
'uploader': 'David Moss',
|
||||||
|
'thumbnail': r're:https?://.+/.+',
|
||||||
|
'channel_follower_count': int,
|
||||||
|
'age_limit': 0,
|
||||||
|
},
|
||||||
|
'playlist_mincount': 331,
|
||||||
|
}, {
|
||||||
|
'url': 'https://www.patreon.com/c/OgSog/posts',
|
||||||
|
'only_matching': True,
|
||||||
}, {
|
}, {
|
||||||
'url': 'https://www.patreon.com/dissonancepod/posts',
|
'url': 'https://www.patreon.com/dissonancepod/posts',
|
||||||
'only_matching': True,
|
'only_matching': True,
|
||||||
|
|||||||
@ -259,6 +259,8 @@ class SoundcloudBaseIE(InfoExtractor):
|
|||||||
preset_base = preset.partition('_')[0]
|
preset_base = preset.partition('_')[0]
|
||||||
|
|
||||||
protocol = traverse_obj(t, ('format', 'protocol', {str})) or 'http'
|
protocol = traverse_obj(t, ('format', 'protocol', {str})) or 'http'
|
||||||
|
if protocol.startswith(('ctr-', 'cbc-')):
|
||||||
|
continue
|
||||||
if protocol == 'progressive':
|
if protocol == 'progressive':
|
||||||
protocol = 'http'
|
protocol = 'http'
|
||||||
if protocol != 'hls' and '/hls' in format_url:
|
if protocol != 'hls' and '/hls' in format_url:
|
||||||
|
|||||||
@ -4689,7 +4689,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|||||||
(?=(?P<artist>[^\n]+))(?P=artist)\n+
|
(?=(?P<artist>[^\n]+))(?P=artist)\n+
|
||||||
(?=(?P<album>[^\n]+))(?P=album)\n
|
(?=(?P<album>[^\n]+))(?P=album)\n
|
||||||
(?:.+?℗\s*(?P<release_year>\d{4})(?!\d))?
|
(?:.+?℗\s*(?P<release_year>\d{4})(?!\d))?
|
||||||
(?:.+?Released on\s*:\s*(?P<release_date>\d{4}-\d{2}-\d{2}))?
|
(?:.+?Released\ on\s*:\s*(?P<release_date>\d{4}-\d{2}-\d{2}))?
|
||||||
(.+?\nArtist\s*:\s*
|
(.+?\nArtist\s*:\s*
|
||||||
(?=(?P<clean_artist>[^\n]+))(?P=clean_artist)\n
|
(?=(?P<clean_artist>[^\n]+))(?P=clean_artist)\n
|
||||||
)?.+\nAuto-generated\ by\ YouTube\.\s*$
|
)?.+\nAuto-generated\ by\ YouTube\.\s*$
|
||||||
@ -5282,6 +5282,7 @@ class YoutubeTabBaseInfoExtractor(YoutubeBaseInfoExtractor):
|
|||||||
'channelRenderer': lambda x: self._grid_entries({'items': [{'channelRenderer': x}]}),
|
'channelRenderer': lambda x: self._grid_entries({'items': [{'channelRenderer': x}]}),
|
||||||
'hashtagTileRenderer': lambda x: [self._hashtag_tile_entry(x)],
|
'hashtagTileRenderer': lambda x: [self._hashtag_tile_entry(x)],
|
||||||
'richGridRenderer': lambda x: self._extract_entries(x, continuation_list),
|
'richGridRenderer': lambda x: self._extract_entries(x, continuation_list),
|
||||||
|
'lockupViewModel': lambda x: [self._extract_lockup_view_model(x)],
|
||||||
}
|
}
|
||||||
for key, renderer in isr_content.items():
|
for key, renderer in isr_content.items():
|
||||||
if key not in known_renderers:
|
if key not in known_renderers:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user