Let youtube IE handle IDs starting with PL (Closes #572)
This commit is contained in:
parent
4083bf81a0
commit
e387eb5aba
3 changed files with 25 additions and 1 deletions
|
@ -1,3 +1,5 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
# Various small unit tests
|
# Various small unit tests
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
22
test/test_youtube_playlist_ids.py
Normal file
22
test/test_youtube_playlist_ids.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
# Allow direct execution
|
||||||
|
import os
|
||||||
|
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||||
|
|
||||||
|
from youtube_dl.InfoExtractors import YoutubeIE, YoutubePlaylistIE
|
||||||
|
|
||||||
|
class TestYoutubePlaylistMatching(unittest.TestCase):
|
||||||
|
def test_playlist_matching(self):
|
||||||
|
assert YoutubePlaylistIE().suitable(u'ECUl4u3cNGP61MdtwGTqZA0MreSaDybji8')
|
||||||
|
assert YoutubePlaylistIE().suitable(u'PL63F0C78739B09958')
|
||||||
|
assert not YoutubePlaylistIE().suitable(u'PLtS2H6bU1M')
|
||||||
|
|
||||||
|
def test_youtube_matching(self):
|
||||||
|
assert YoutubeIE().suitable(u'PLtS2H6bU1M')
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main()
|
|
@ -1671,7 +1671,7 @@ class YahooSearchIE(InfoExtractor):
|
||||||
class YoutubePlaylistIE(InfoExtractor):
|
class YoutubePlaylistIE(InfoExtractor):
|
||||||
"""Information Extractor for YouTube playlists."""
|
"""Information Extractor for YouTube playlists."""
|
||||||
|
|
||||||
_VALID_URL = r'(?:(?:https?://)?(?:\w+\.)?youtube\.com/(?:(?:course|view_play_list|my_playlists|artist|playlist)\?.*?(p|a|list)=|user/.*?/user/|p/|user/.*?#[pg]/c/)(?:PL|EC)?|PL|EC)([0-9A-Za-z-_]+)(?:/.*?/([0-9A-Za-z_-]+))?.*'
|
_VALID_URL = r'(?:(?:https?://)?(?:\w+\.)?youtube\.com/(?:(?:course|view_play_list|my_playlists|artist|playlist)\?.*?(p|a|list)=|user/.*?/user/|p/|user/.*?#[pg]/c/)(?:PL|EC)?|PL|EC)([0-9A-Za-z-_]{10,})(?:/.*?/([0-9A-Za-z_-]+))?.*'
|
||||||
_TEMPLATE_URL = 'http://www.youtube.com/%s?%s=%s&page=%s&gl=US&hl=en'
|
_TEMPLATE_URL = 'http://www.youtube.com/%s?%s=%s&page=%s&gl=US&hl=en'
|
||||||
_VIDEO_INDICATOR_TEMPLATE = r'/watch\?v=(.+?)&([^&"]+&)*list=.*?%s'
|
_VIDEO_INDICATOR_TEMPLATE = r'/watch\?v=(.+?)&([^&"]+&)*list=.*?%s'
|
||||||
_MORE_PAGES_INDICATOR = r'yt-uix-pager-next'
|
_MORE_PAGES_INDICATOR = r'yt-uix-pager-next'
|
||||||
|
|
Loading…
Reference in a new issue