diff --git a/test/test_youtube_lists.py b/test/test_youtube_lists.py index f28fe78e0..53e65816d 100644 --- a/test/test_youtube_lists.py +++ b/test/test_youtube_lists.py @@ -33,6 +33,7 @@ class TestYoutubeLists(unittest.TestCase): ie = YoutubePlaylistIE(dl) result = ie.extract('https://www.youtube.com/watch?v=FXxLjLQi3Fg&list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re') self.assertEqual(result['_type'], 'url') + self.assertEqual(YoutubeIE()._extract_id(result['url']), 'FXxLjLQi3Fg') def test_issue_673(self): dl = FakeYDL() diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index c6876c69f..5d932f8a4 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -13,7 +13,6 @@ import struct import traceback import xml.etree.ElementTree import zlib -import urlparse from .common import InfoExtractor, SearchInfoExtractor from .subtitles import SubtitlesInfoExtractor @@ -24,6 +23,7 @@ from ..utils import ( compat_urllib_error, compat_urllib_parse, compat_urllib_request, + compat_urlparse, compat_str, clean_html, @@ -1527,7 +1527,7 @@ class YoutubePlaylistIE(InfoExtractor): playlist_id = mobj.group(1) or mobj.group(2) # Check if it's a video-specific URL - query_dict = urlparse.parse_qs(urlparse.urlparse(url).query) + query_dict = compat_urlparse.parse_qs(compat_urlparse.urlparse(url).query) if 'v' in query_dict: video_id = query_dict['v'][0] if self._downloader.params.get('noplaylist'):