logo

youtube-dl

[mirror] Download/Watch videos from video hostersgit clone https://hacktivis.me/git/mirror/youtube-dl.git
commit: af1312bfc38b8dd3ba9381e9d7a58206870651a5
parent 4c7d7215cd069bd15239d5a43ecb764e60a49ce7
Author: Sergey M․ <dstftw@gmail.com>
Date:   Sat, 26 Dec 2020 19:59:57 +0700

[youtube:tab] Extend _VALID_URL (closes #27501)

Diffstat:

Mtest/test_all_urls.py6+++---
Myoutube_dl/extractor/generic.py16----------------
Myoutube_dl/extractor/youtube.py26++++++++++++++++++--------
3 files changed, 21 insertions(+), 27 deletions(-)

diff --git a/test/test_all_urls.py b/test/test_all_urls.py @@ -36,7 +36,7 @@ class TestAllURLsMatching(unittest.TestCase): assertPlaylist('UUBABnxM4Ar9ten8Mdjj1j0Q') # 585 assertPlaylist('PL63F0C78739B09958') assertTab('https://www.youtube.com/playlist?list=UUBABnxM4Ar9ten8Mdjj1j0Q') - assertPlaylist('https://www.youtube.com/course?list=ECUl4u3cNGP61MdtwGTqZA0MreSaDybji8') + assertTab('https://www.youtube.com/course?list=ECUl4u3cNGP61MdtwGTqZA0MreSaDybji8') assertTab('https://www.youtube.com/playlist?list=PLwP_SiAcdui0KVebT0mU9Apz359a4ubsC') assertTab('https://www.youtube.com/watch?v=AV6J6_AeFEQ&playnext=1&list=PL4023E734DA416012') # 668 self.assertFalse('youtube:playlist' in self.matching_ies('PLtS2H6bU1M')) @@ -57,8 +57,8 @@ class TestAllURLsMatching(unittest.TestCase): assertChannel('https://www.youtube.com/channel/HCtnHdj3df7iM?feature=gb_ch_rec') assertChannel('https://www.youtube.com/channel/HCtnHdj3df7iM/videos') - # def test_youtube_user_matching(self): - # self.assertMatch('http://www.youtube.com/NASAgovVideo/videos', ['youtube:tab']) + def test_youtube_user_matching(self): + self.assertMatch('http://www.youtube.com/NASAgovVideo/videos', ['youtube:tab']) def test_youtube_feeds(self): self.assertMatch('https://www.youtube.com/feed/library', ['youtube:tab']) diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py @@ -2025,22 +2025,6 @@ class GenericIE(InfoExtractor): 'add_ie': [SpringboardPlatformIE.ie_key()], }, { - 'url': 'https://www.youtube.com/shared?ci=1nEzmT-M4fU', - 'info_dict': { - 'id': 'uPDB5I9wfp8', - 'ext': 'webm', - 'title': 'Pocoyo: 90 minutos de episódios completos Português para crianças - PARTE 3', - 'description': 'md5:d9e4d9346a2dfff4c7dc4c8cec0f546d', - 'upload_date': '20160219', - 'uploader': 'Pocoyo - Português (BR)', - 'uploader_id': 'PocoyoBrazil', - }, - 'add_ie': [YoutubeIE.ie_key()], - 'params': { - 'skip_download': True, - }, - }, - { 'url': 'https://www.yapfiles.ru/show/1872528/690b05d3054d2dbe1e69523aa21bb3b1.mp4.html', 'info_dict': { 'id': 'vMDE4NzI1Mjgt690b', diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py @@ -2442,7 +2442,8 @@ class YoutubeTabIE(YoutubeBaseInfoExtractor): )/ (?: (?:channel|c|user|feed)/| - (?:playlist|watch)\?.*?\blist= + (?:playlist|watch)\?.*?\blist=| + (?!(?:watch|embed|v|e)\b) ) (?P<id>[^/?\#&]+) ''' @@ -2711,13 +2712,22 @@ class YoutubeTabIE(YoutubeBaseInfoExtractor): # inline playlist with not always working continuations 'url': 'https://www.youtube.com/watch?v=UC6u0Tct-Fo&list=PL36D642111D65BE7C', 'only_matching': True, - } - # TODO - # { - # 'url': 'https://www.youtube.com/TheYoungTurks/live', - # 'only_matching': True, - # } - ] + }, { + 'url': 'https://www.youtube.com/course?list=ECUl4u3cNGP61MdtwGTqZA0MreSaDybji8', + 'only_matching': True, + }, { + 'url': 'https://www.youtube.com/course', + 'only_matching': True, + }, { + 'url': 'https://www.youtube.com/zsecurity', + 'only_matching': True, + }, { + 'url': 'http://www.youtube.com/NASAgovVideo/videos', + 'only_matching': True, + }, { + 'url': 'https://www.youtube.com/TheYoungTurks/live', + 'only_matching': True, + }] def _extract_channel_id(self, webpage): channel_id = self._html_search_meta(