diff options
| author | Sergey M․ <dstftw@gmail.com> | 2020-12-26 19:59:57 +0700 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2020-12-26 19:59:57 +0700 | 
| commit | af1312bfc38b8dd3ba9381e9d7a58206870651a5 (patch) | |
| tree | b7c64df26a4199ea3e46e6c49684617fc3c61546 | |
| parent | 4c7d7215cd069bd15239d5a43ecb764e60a49ce7 (diff) | |
[youtube:tab] Extend _VALID_URL (closes #27501)
| -rw-r--r-- | test/test_all_urls.py | 6 | ||||
| -rw-r--r-- | youtube_dl/extractor/generic.py | 16 | ||||
| -rw-r--r-- | youtube_dl/extractor/youtube.py | 26 | 
3 files changed, 21 insertions, 27 deletions
diff --git a/test/test_all_urls.py b/test/test_all_urls.py index 50c3466fa..df6d81b5d 100644 --- 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 index 711adf498..6e46b2c0e 100644 --- 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 index 19df6b412..289d9bab1 100644 --- 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(  | 
