mirror of https://github.com/yt-dlp/yt-dlp.git
COMPLAINFREE
This commit is contained in:
parent
3a6a581d94
commit
dd2d55f10d
|
@ -33,7 +33,6 @@ class TestAllURLsMatching(unittest.TestCase):
|
||||||
assertPlaylist = lambda url: self.assertMatch(url, ['youtube:playlist'])
|
assertPlaylist = lambda url: self.assertMatch(url, ['youtube:playlist'])
|
||||||
assertPlaylist('ECUl4u3cNGP61MdtwGTqZA0MreSaDybji8')
|
assertPlaylist('ECUl4u3cNGP61MdtwGTqZA0MreSaDybji8')
|
||||||
assertPlaylist('UUBABnxM4Ar9ten8Mdjj1j0Q') # 585
|
assertPlaylist('UUBABnxM4Ar9ten8Mdjj1j0Q') # 585
|
||||||
assertPlaylist('PL63F0C78739B09958')
|
|
||||||
assertPlaylist('https://www.youtube.com/playlist?list=UUBABnxM4Ar9ten8Mdjj1j0Q')
|
assertPlaylist('https://www.youtube.com/playlist?list=UUBABnxM4Ar9ten8Mdjj1j0Q')
|
||||||
assertPlaylist('https://www.youtube.com/course?list=ECUl4u3cNGP61MdtwGTqZA0MreSaDybji8')
|
assertPlaylist('https://www.youtube.com/course?list=ECUl4u3cNGP61MdtwGTqZA0MreSaDybji8')
|
||||||
assertPlaylist('https://www.youtube.com/playlist?list=PLwP_SiAcdui0KVebT0mU9Apz359a4ubsC')
|
assertPlaylist('https://www.youtube.com/playlist?list=PLwP_SiAcdui0KVebT0mU9Apz359a4ubsC')
|
||||||
|
@ -70,7 +69,7 @@ class TestAllURLsMatching(unittest.TestCase):
|
||||||
|
|
||||||
def test_youtube_search_matching(self):
|
def test_youtube_search_matching(self):
|
||||||
self.assertMatch('http://www.youtube.com/results?search_query=making+mustard', ['youtube:search_url'])
|
self.assertMatch('http://www.youtube.com/results?search_query=making+mustard', ['youtube:search_url'])
|
||||||
self.assertMatch('https://www.youtube.com/results?baz=bar&search_query=youtube-dlc+test+video&filters=video&lclk=video', ['youtube:search_url'])
|
self.assertMatch('https://www.youtube.com/results?baz=bar&search_query=youtube-dl+test+video&filters=video&lclk=video', ['youtube:search_url'])
|
||||||
|
|
||||||
def test_youtube_extract(self):
|
def test_youtube_extract(self):
|
||||||
assertExtractId = lambda url, id: self.assertEqual(YoutubeIE.extract_id(url), id)
|
assertExtractId = lambda url, id: self.assertEqual(YoutubeIE.extract_id(url), id)
|
||||||
|
|
|
@ -45,18 +45,6 @@ class MySpaceIE(InfoExtractor):
|
||||||
'uploader': 'Killsorrow',
|
'uploader': 'Killsorrow',
|
||||||
'uploader_id': 'killsorrow',
|
'uploader_id': 'killsorrow',
|
||||||
},
|
},
|
||||||
}, {
|
|
||||||
'add_ie': ['Youtube'],
|
|
||||||
'url': 'https://myspace.com/threedaysgrace/music/song/animal-i-have-become-28400208-28218041',
|
|
||||||
'info_dict': {
|
|
||||||
'id': 'xqds0B_meys',
|
|
||||||
'ext': 'webm',
|
|
||||||
'title': 'Three Days Grace - Animal I Have Become',
|
|
||||||
'description': 'md5:8bd86b3693e72a077cf863a8530c54bb',
|
|
||||||
'uploader': 'ThreeDaysGraceVEVO',
|
|
||||||
'uploader_id': 'ThreeDaysGraceVEVO',
|
|
||||||
'upload_date': '20091002',
|
|
||||||
},
|
|
||||||
}, {
|
}, {
|
||||||
'url': 'https://myspace.com/starset2/music/song/first-light-95799905-106964426',
|
'url': 'https://myspace.com/starset2/music/song/first-light-95799905-106964426',
|
||||||
'only_matching': True,
|
'only_matching': True,
|
||||||
|
|
|
@ -38,117 +38,7 @@ class VevoIE(VevoBaseIE):
|
||||||
vevo:)
|
vevo:)
|
||||||
(?P<id>[^&?#]+)'''
|
(?P<id>[^&?#]+)'''
|
||||||
|
|
||||||
_TESTS = [{
|
_TESTS = []
|
||||||
'url': 'http://www.vevo.com/watch/hurts/somebody-to-die-for/GB1101300280',
|
|
||||||
'md5': '95ee28ee45e70130e3ab02b0f579ae23',
|
|
||||||
'info_dict': {
|
|
||||||
'id': 'GB1101300280',
|
|
||||||
'ext': 'mp4',
|
|
||||||
'title': 'Hurts - Somebody to Die For',
|
|
||||||
'timestamp': 1372057200,
|
|
||||||
'upload_date': '20130624',
|
|
||||||
'uploader': 'Hurts',
|
|
||||||
'track': 'Somebody to Die For',
|
|
||||||
'artist': 'Hurts',
|
|
||||||
'genre': 'Pop',
|
|
||||||
},
|
|
||||||
'expected_warnings': ['Unable to download SMIL file', 'Unable to download info'],
|
|
||||||
}, {
|
|
||||||
'note': 'v3 SMIL format',
|
|
||||||
'url': 'http://www.vevo.com/watch/cassadee-pope/i-wish-i-could-break-your-heart/USUV71302923',
|
|
||||||
'md5': 'f6ab09b034f8c22969020b042e5ac7fc',
|
|
||||||
'info_dict': {
|
|
||||||
'id': 'USUV71302923',
|
|
||||||
'ext': 'mp4',
|
|
||||||
'title': 'Cassadee Pope - I Wish I Could Break Your Heart',
|
|
||||||
'timestamp': 1392796919,
|
|
||||||
'upload_date': '20140219',
|
|
||||||
'uploader': 'Cassadee Pope',
|
|
||||||
'track': 'I Wish I Could Break Your Heart',
|
|
||||||
'artist': 'Cassadee Pope',
|
|
||||||
'genre': 'Country',
|
|
||||||
},
|
|
||||||
'expected_warnings': ['Unable to download SMIL file', 'Unable to download info'],
|
|
||||||
}, {
|
|
||||||
'note': 'Age-limited video',
|
|
||||||
'url': 'https://www.vevo.com/watch/justin-timberlake/tunnel-vision-explicit/USRV81300282',
|
|
||||||
'info_dict': {
|
|
||||||
'id': 'USRV81300282',
|
|
||||||
'ext': 'mp4',
|
|
||||||
'title': 'Justin Timberlake - Tunnel Vision (Explicit)',
|
|
||||||
'age_limit': 18,
|
|
||||||
'timestamp': 1372888800,
|
|
||||||
'upload_date': '20130703',
|
|
||||||
'uploader': 'Justin Timberlake',
|
|
||||||
'track': 'Tunnel Vision (Explicit)',
|
|
||||||
'artist': 'Justin Timberlake',
|
|
||||||
'genre': 'Pop',
|
|
||||||
},
|
|
||||||
'expected_warnings': ['Unable to download SMIL file', 'Unable to download info'],
|
|
||||||
}, {
|
|
||||||
'note': 'No video_info',
|
|
||||||
'url': 'http://www.vevo.com/watch/k-camp-1/Till-I-Die/USUV71503000',
|
|
||||||
'md5': '8b83cc492d72fc9cf74a02acee7dc1b0',
|
|
||||||
'info_dict': {
|
|
||||||
'id': 'USUV71503000',
|
|
||||||
'ext': 'mp4',
|
|
||||||
'title': 'K Camp ft. T.I. - Till I Die',
|
|
||||||
'age_limit': 18,
|
|
||||||
'timestamp': 1449468000,
|
|
||||||
'upload_date': '20151207',
|
|
||||||
'uploader': 'K Camp',
|
|
||||||
'track': 'Till I Die',
|
|
||||||
'artist': 'K Camp',
|
|
||||||
'genre': 'Hip-Hop',
|
|
||||||
},
|
|
||||||
'expected_warnings': ['Unable to download SMIL file', 'Unable to download info'],
|
|
||||||
}, {
|
|
||||||
'note': 'Featured test',
|
|
||||||
'url': 'https://www.vevo.com/watch/lemaitre/Wait/USUV71402190',
|
|
||||||
'md5': 'd28675e5e8805035d949dc5cf161071d',
|
|
||||||
'info_dict': {
|
|
||||||
'id': 'USUV71402190',
|
|
||||||
'ext': 'mp4',
|
|
||||||
'title': 'Lemaitre ft. LoLo - Wait',
|
|
||||||
'age_limit': 0,
|
|
||||||
'timestamp': 1413432000,
|
|
||||||
'upload_date': '20141016',
|
|
||||||
'uploader': 'Lemaitre',
|
|
||||||
'track': 'Wait',
|
|
||||||
'artist': 'Lemaitre',
|
|
||||||
'genre': 'Electronic',
|
|
||||||
},
|
|
||||||
'expected_warnings': ['Unable to download SMIL file', 'Unable to download info'],
|
|
||||||
}, {
|
|
||||||
'note': 'Only available via webpage',
|
|
||||||
'url': 'http://www.vevo.com/watch/GBUV71600656',
|
|
||||||
'md5': '67e79210613865b66a47c33baa5e37fe',
|
|
||||||
'info_dict': {
|
|
||||||
'id': 'GBUV71600656',
|
|
||||||
'ext': 'mp4',
|
|
||||||
'title': 'ABC - Viva Love',
|
|
||||||
'age_limit': 0,
|
|
||||||
'timestamp': 1461830400,
|
|
||||||
'upload_date': '20160428',
|
|
||||||
'uploader': 'ABC',
|
|
||||||
'track': 'Viva Love',
|
|
||||||
'artist': 'ABC',
|
|
||||||
'genre': 'Pop',
|
|
||||||
},
|
|
||||||
'expected_warnings': ['Failed to download video versions info'],
|
|
||||||
}, {
|
|
||||||
# no genres available
|
|
||||||
'url': 'http://www.vevo.com/watch/INS171400764',
|
|
||||||
'only_matching': True,
|
|
||||||
}, {
|
|
||||||
# Another case available only via the webpage; using streams/streamsV3 formats
|
|
||||||
# Geo-restricted to Netherlands/Germany
|
|
||||||
'url': 'http://www.vevo.com/watch/boostee/pop-corn-clip-officiel/FR1A91600909',
|
|
||||||
'only_matching': True,
|
|
||||||
}, {
|
|
||||||
'url': 'https://embed.vevo.com/?isrc=USH5V1923499&partnerId=4d61b777-8023-4191-9ede-497ed6c24647&partnerAdCode=',
|
|
||||||
'only_matching': True,
|
|
||||||
}]
|
|
||||||
_VERSIONS = {
|
_VERSIONS = {
|
||||||
0: 'youtube', # only in AuthenticateVideo videoVersions
|
0: 'youtube', # only in AuthenticateVideo videoVersions
|
||||||
1: 'level3',
|
1: 'level3',
|
||||||
|
@ -310,34 +200,12 @@ class VevoPlaylistIE(VevoBaseIE):
|
||||||
_VALID_URL = r'https?://(?:www\.)?vevo\.com/watch/(?P<kind>playlist|genre)/(?P<id>[^/?#&]+)'
|
_VALID_URL = r'https?://(?:www\.)?vevo\.com/watch/(?P<kind>playlist|genre)/(?P<id>[^/?#&]+)'
|
||||||
|
|
||||||
_TESTS = [{
|
_TESTS = [{
|
||||||
'url': 'http://www.vevo.com/watch/playlist/dadbf4e7-b99f-4184-9670-6f0e547b6a29',
|
|
||||||
'info_dict': {
|
|
||||||
'id': 'dadbf4e7-b99f-4184-9670-6f0e547b6a29',
|
|
||||||
'title': 'Best-Of: Birdman',
|
|
||||||
},
|
|
||||||
'playlist_count': 10,
|
|
||||||
}, {
|
|
||||||
'url': 'http://www.vevo.com/watch/genre/rock',
|
'url': 'http://www.vevo.com/watch/genre/rock',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
'id': 'rock',
|
'id': 'rock',
|
||||||
'title': 'Rock',
|
'title': 'Rock',
|
||||||
},
|
},
|
||||||
'playlist_count': 20,
|
'playlist_count': 20,
|
||||||
}, {
|
|
||||||
'url': 'http://www.vevo.com/watch/playlist/dadbf4e7-b99f-4184-9670-6f0e547b6a29?index=0',
|
|
||||||
'md5': '32dcdfddddf9ec6917fc88ca26d36282',
|
|
||||||
'info_dict': {
|
|
||||||
'id': 'USCMV1100073',
|
|
||||||
'ext': 'mp4',
|
|
||||||
'title': 'Birdman - Y.U. MAD',
|
|
||||||
'timestamp': 1323417600,
|
|
||||||
'upload_date': '20111209',
|
|
||||||
'uploader': 'Birdman',
|
|
||||||
'track': 'Y.U. MAD',
|
|
||||||
'artist': 'Birdman',
|
|
||||||
'genre': 'Rap/Hip-Hop',
|
|
||||||
},
|
|
||||||
'expected_warnings': ['Unable to download SMIL file'],
|
|
||||||
}, {
|
}, {
|
||||||
'url': 'http://www.vevo.com/watch/genre/rock?index=0',
|
'url': 'http://www.vevo.com/watch/genre/rock?index=0',
|
||||||
'only_matching': True,
|
'only_matching': True,
|
||||||
|
|
|
@ -581,48 +581,6 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||||
'end_time': 9,
|
'end_time': 9,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
'url': 'https://www.youtube.com/watch?v=UxxajLWwzqY',
|
|
||||||
'note': 'Test generic use_cipher_signature video (#897)',
|
|
||||||
'info_dict': {
|
|
||||||
'id': 'UxxajLWwzqY',
|
|
||||||
'ext': 'mp4',
|
|
||||||
'upload_date': '20120506',
|
|
||||||
'title': 'Icona Pop - I Love It (feat. Charli XCX) [OFFICIAL VIDEO]',
|
|
||||||
'alt_title': 'I Love It (feat. Charli XCX)',
|
|
||||||
'description': 'md5:19a2f98d9032b9311e686ed039564f63',
|
|
||||||
'tags': ['Icona Pop i love it', 'sweden', 'pop music', 'big beat records', 'big beat', 'charli',
|
|
||||||
'xcx', 'charli xcx', 'girls', 'hbo', 'i love it', "i don't care", 'icona', 'pop',
|
|
||||||
'iconic ep', 'iconic', 'love', 'it'],
|
|
||||||
'duration': 180,
|
|
||||||
'uploader': 'Icona Pop',
|
|
||||||
'uploader_id': 'IconaPop',
|
|
||||||
'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/IconaPop',
|
|
||||||
'creator': 'Icona Pop',
|
|
||||||
'track': 'I Love It (feat. Charli XCX)',
|
|
||||||
'artist': 'Icona Pop',
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'url': 'https://www.youtube.com/watch?v=07FYdnEawAQ',
|
|
||||||
'note': 'Test VEVO video with age protection (#956)',
|
|
||||||
'info_dict': {
|
|
||||||
'id': '07FYdnEawAQ',
|
|
||||||
'ext': 'mp4',
|
|
||||||
'upload_date': '20130703',
|
|
||||||
'title': 'Justin Timberlake - Tunnel Vision (Official Music Video) (Explicit)',
|
|
||||||
'alt_title': 'Tunnel Vision',
|
|
||||||
'description': 'md5:07dab3356cde4199048e4c7cd93471e1',
|
|
||||||
'duration': 419,
|
|
||||||
'uploader': 'justintimberlakeVEVO',
|
|
||||||
'uploader_id': 'justintimberlakeVEVO',
|
|
||||||
'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/justintimberlakeVEVO',
|
|
||||||
'creator': 'Justin Timberlake',
|
|
||||||
'track': 'Tunnel Vision',
|
|
||||||
'artist': 'Justin Timberlake',
|
|
||||||
'age_limit': 18,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
'url': '//www.YouTube.com/watch?v=yZIXLfi8CZQ',
|
'url': '//www.YouTube.com/watch?v=yZIXLfi8CZQ',
|
||||||
'note': 'Embed-only video (#1746)',
|
'note': 'Embed-only video (#1746)',
|
||||||
|
@ -680,42 +638,6 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||||
},
|
},
|
||||||
'skip': 'format 141 not served anymore',
|
'skip': 'format 141 not served anymore',
|
||||||
},
|
},
|
||||||
# DASH manifest with encrypted signature
|
|
||||||
{
|
|
||||||
'url': 'https://www.youtube.com/watch?v=IB3lcPjvWLA',
|
|
||||||
'info_dict': {
|
|
||||||
'id': 'IB3lcPjvWLA',
|
|
||||||
'ext': 'm4a',
|
|
||||||
'title': 'Afrojack, Spree Wilson - The Spark (Official Music Video) ft. Spree Wilson',
|
|
||||||
'description': 'md5:8f5e2b82460520b619ccac1f509d43bf',
|
|
||||||
'duration': 244,
|
|
||||||
'uploader': 'AfrojackVEVO',
|
|
||||||
'uploader_id': 'AfrojackVEVO',
|
|
||||||
'upload_date': '20131011',
|
|
||||||
},
|
|
||||||
'params': {
|
|
||||||
'youtube_include_dash_manifest': True,
|
|
||||||
'format': '141/bestaudio[ext=m4a]',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
# JS player signature function name containing $
|
|
||||||
{
|
|
||||||
'url': 'https://www.youtube.com/watch?v=nfWlot6h_JM',
|
|
||||||
'info_dict': {
|
|
||||||
'id': 'nfWlot6h_JM',
|
|
||||||
'ext': 'm4a',
|
|
||||||
'title': 'Taylor Swift - Shake It Off',
|
|
||||||
'description': 'md5:307195cd21ff7fa352270fe884570ef0',
|
|
||||||
'duration': 242,
|
|
||||||
'uploader': 'TaylorSwiftVEVO',
|
|
||||||
'uploader_id': 'TaylorSwiftVEVO',
|
|
||||||
'upload_date': '20140818',
|
|
||||||
},
|
|
||||||
'params': {
|
|
||||||
'youtube_include_dash_manifest': True,
|
|
||||||
'format': '141/bestaudio[ext=m4a]',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
# Controversy video
|
# Controversy video
|
||||||
{
|
{
|
||||||
'url': 'https://www.youtube.com/watch?v=T4XJQO3qol8',
|
'url': 'https://www.youtube.com/watch?v=T4XJQO3qol8',
|
||||||
|
@ -731,7 +653,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||||
'description': 'SUBSCRIBE: http://www.youtube.com/saturninefilms\n\nEven Obama has taken a stand against freedom on this issue: http://www.huffingtonpost.com/2010/09/09/obama-gma-interview-quran_n_710282.html',
|
'description': 'SUBSCRIBE: http://www.youtube.com/saturninefilms\n\nEven Obama has taken a stand against freedom on this issue: http://www.huffingtonpost.com/2010/09/09/obama-gma-interview-quran_n_710282.html',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
# Normal age-gate video (No vevo, embed allowed)
|
# Normal age-gate video (embed allowed)
|
||||||
{
|
{
|
||||||
'url': 'https://youtube.com/watch?v=HtVdAasjOgU',
|
'url': 'https://youtube.com/watch?v=HtVdAasjOgU',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
|
@ -747,43 +669,6 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||||
'age_limit': 18,
|
'age_limit': 18,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
# Age-gate video with encrypted signature
|
|
||||||
{
|
|
||||||
'url': 'https://www.youtube.com/watch?v=6kLq3WMV1nU',
|
|
||||||
'info_dict': {
|
|
||||||
'id': '6kLq3WMV1nU',
|
|
||||||
'ext': 'mp4',
|
|
||||||
'title': 'Dedication To My Ex (Miss That) (Lyric Video)',
|
|
||||||
'description': 'md5:33765bb339e1b47e7e72b5490139bb41',
|
|
||||||
'duration': 246,
|
|
||||||
'uploader': 'LloydVEVO',
|
|
||||||
'uploader_id': 'LloydVEVO',
|
|
||||||
'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/LloydVEVO',
|
|
||||||
'upload_date': '20110629',
|
|
||||||
'age_limit': 18,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
# video_info is None (https://github.com/ytdl-org/youtube-dl/issues/4421)
|
|
||||||
# YouTube Red ad is not captured for creator
|
|
||||||
{
|
|
||||||
'url': '__2ABJjxzNo',
|
|
||||||
'info_dict': {
|
|
||||||
'id': '__2ABJjxzNo',
|
|
||||||
'ext': 'mp4',
|
|
||||||
'duration': 266,
|
|
||||||
'upload_date': '20100430',
|
|
||||||
'uploader_id': 'deadmau5',
|
|
||||||
'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/deadmau5',
|
|
||||||
'creator': 'Dada Life, deadmau5',
|
|
||||||
'description': 'md5:12c56784b8032162bb936a5f76d55360',
|
|
||||||
'uploader': 'deadmau5',
|
|
||||||
'title': 'Deadmau5 - Some Chords (HD)',
|
|
||||||
'alt_title': 'This Machine Kills Some Chords',
|
|
||||||
},
|
|
||||||
'expected_warnings': [
|
|
||||||
'DASH manifest missing',
|
|
||||||
]
|
|
||||||
},
|
|
||||||
# Olympics (https://github.com/ytdl-org/youtube-dl/issues/4431)
|
# Olympics (https://github.com/ytdl-org/youtube-dl/issues/4431)
|
||||||
{
|
{
|
||||||
'url': 'lqQg6PlCWgI',
|
'url': 'lqQg6PlCWgI',
|
||||||
|
|
Loading…
Reference in New Issue