diff --git a/youtube_dl/extractor/cliphunter.py b/youtube_dl/extractor/cliphunter.py index d891fa301..58846e8e7 100644 --- a/youtube_dl/extractor/cliphunter.py +++ b/youtube_dl/extractor/cliphunter.py @@ -1,12 +1,9 @@ from __future__ import unicode_literals import re -import string from .common import InfoExtractor -from ..utils import ( - ExtractorError, -) + translation_table = { 'a': 'h', 'd': 'e', 'e': 'v', 'f': 'o', 'g': 'f', 'i': 'd', 'l': 'n', diff --git a/youtube_dl/extractor/infoq.py b/youtube_dl/extractor/infoq.py index 7c208b85d..ed32373a1 100644 --- a/youtube_dl/extractor/infoq.py +++ b/youtube_dl/extractor/infoq.py @@ -10,7 +10,7 @@ from ..utils import ( class InfoQIE(InfoExtractor): - _VALID_URL = r'^(?:https?://)?(?:www\.)?infoq\.com/[^/]+/[^/]+$' + _VALID_URL = r'https?://(?:www\.)?infoq\.com/[^/]+/(?P[^/]+)$' _TEST = { "name": "InfoQ", "url": "http://www.infoq.com/presentations/A-Few-of-My-Favorite-Python-Things", @@ -26,9 +26,9 @@ class InfoQIE(InfoExtractor): def _real_extract(self, url): mobj = re.match(self._VALID_URL, url) + video_id = mobj.group('id') - webpage = self._download_webpage(url, video_id=url) - self.report_extraction(url) + webpage = self._download_webpage(url, video_id) # Extract video URL encoded_id = self._search_regex(r"jsclassref ?= ?'([^']*)'", webpage, 'encoded id') @@ -50,6 +50,6 @@ class InfoQIE(InfoExtractor): 'id': video_id, 'url': video_url, 'title': video_title, - 'ext': extension, # Extension is always(?) mp4, but seems to be flv + 'ext': extension, # Extension is always(?) mp4, but seems to be flv 'description': video_description, } diff --git a/youtube_dl/extractor/liveleak.py b/youtube_dl/extractor/liveleak.py index 4e76c1f4a..0a700d663 100644 --- a/youtube_dl/extractor/liveleak.py +++ b/youtube_dl/extractor/liveleak.py @@ -4,9 +4,6 @@ import json import re from .common import InfoExtractor -from ..utils import ( - ExtractorError, -) class LiveLeakIE(InfoExtractor): diff --git a/youtube_dl/extractor/newgrounds.py b/youtube_dl/extractor/newgrounds.py index 5cb83ba14..2e72e8915 100644 --- a/youtube_dl/extractor/newgrounds.py +++ b/youtube_dl/extractor/newgrounds.py @@ -4,18 +4,18 @@ import json import re from .common import InfoExtractor -from ..utils import determine_ext class NewgroundsIE(InfoExtractor): - _VALID_URL = r'(?:https?://)?(?:www\.)?newgrounds\.com/audio/listen/(?P\d+)' + _VALID_URL = r'https?://(?:www\.)?newgrounds\.com/audio/listen/(?P[0-9]+)' _TEST = { 'url': 'http://www.newgrounds.com/audio/listen/549479', - 'file': '549479.mp3', 'md5': 'fe6033d297591288fa1c1f780386f07a', 'info_dict': { - "title": "B7 - BusMode", - "uploader": "Burn7", + 'id': '549479', + 'ext': 'mp3', + 'title': 'B7 - BusMode', + 'uploader': 'Burn7', } } diff --git a/youtube_dl/extractor/rbmaradio.py b/youtube_dl/extractor/rbmaradio.py index b9cb7abd1..2c53ed2e1 100644 --- a/youtube_dl/extractor/rbmaradio.py +++ b/youtube_dl/extractor/rbmaradio.py @@ -6,8 +6,6 @@ import re from .common import InfoExtractor from ..utils import ( - compat_urllib_parse_urlparse, - ExtractorError, ) @@ -16,9 +14,10 @@ class RBMARadioIE(InfoExtractor): _VALID_URL = r'https?://(?:www\.)?rbmaradio\.com/shows/(?P[^/]+)$' _TEST = { 'url': 'http://www.rbmaradio.com/shows/ford-lopatin-live-at-primavera-sound-2011', - 'file': 'ford-lopatin-live-at-primavera-sound-2011.mp3', 'md5': '6bc6f9bcb18994b4c983bc3bf4384d95', 'info_dict': { + 'id': 'ford-lopatin-live-at-primavera-sound-2011', + 'ext': 'mp3', "uploader_id": "ford-lopatin", "location": "Spain", "description": "Joel Ford and Daniel ’Oneohtrix Point Never’ Lopatin fly their midified pop extravaganza to Spain. Live at Primavera Sound 2011.", @@ -42,7 +41,6 @@ class RBMARadioIE(InfoExtractor): raise ExtractorError('Invalid JSON: ' + str(e)) video_url = data['akamai_url'] + '&cbr=256' - url_parts = compat_urllib_parse_urlparse(video_url) return { 'id': video_id, diff --git a/youtube_dl/extractor/southparkstudios.py b/youtube_dl/extractor/southparkstudios.py index 9f8d3a5fa..aea8e6439 100644 --- a/youtube_dl/extractor/southparkstudios.py +++ b/youtube_dl/extractor/southparkstudios.py @@ -1,34 +1,36 @@ -import re +from __future__ import unicode_literals from .mtv import MTVServicesInfoExtractor class SouthParkStudiosIE(MTVServicesInfoExtractor): - IE_NAME = u'southparkstudios.com' - _VALID_URL = r'(https?://)?(www\.)?(?Psouthparkstudios\.com/(clips|full-episodes)/(?P.+?)(\?|#|$))' + IE_NAME = 'southparkstudios.com' + _VALID_URL = r'https?://(www\.)?(?Psouthparkstudios\.com/(clips|full-episodes)/(?P.+?)(\?|#|$))' _FEED_URL = 'http://www.southparkstudios.com/feeds/video-player/mrss' _TESTS = [{ - u'url': u'http://www.southparkstudios.com/clips/104437/bat-daded#tab=featured', - u'file': u'a7bff6c2-ed00-11e0-aca6-0026b9414f30.mp4', - u'info_dict': { - u'title': u'Bat Daded', - u'description': u'Randy disqualifies South Park by getting into a fight with Bat Dad.', + 'url': 'http://www.southparkstudios.com/clips/104437/bat-daded#tab=featured', + 'info_dict': { + 'id': 'a7bff6c2-ed00-11e0-aca6-0026b9414f30', + 'ext': 'mp4', + 'title': 'Bat Daded', + 'description': 'Randy disqualifies South Park by getting into a fight with Bat Dad.', }, }] class SouthparkDeIE(SouthParkStudiosIE): - IE_NAME = u'southpark.de' - _VALID_URL = r'(https?://)?(www\.)?(?Psouthpark\.de/(clips|alle-episoden)/(?P.+?)(\?|#|$))' + IE_NAME = 'southpark.de' + _VALID_URL = r'https?://(www\.)?(?Psouthpark\.de/(clips|alle-episoden)/(?P.+?)(\?|#|$))' _FEED_URL = 'http://www.southpark.de/feeds/video-player/mrss/' _TESTS = [{ - u'url': u'http://www.southpark.de/clips/uygssh/the-government-wont-respect-my-privacy#tab=featured', - u'file': u'85487c96-b3b9-4e39-9127-ad88583d9bf2.mp4', - u'info_dict': { - u'title': u'The Government Won\'t Respect My Privacy', - u'description': u'Cartman explains the benefits of "Shitter" to Stan, Kyle and Craig.', + 'url': 'http://www.southpark.de/clips/uygssh/the-government-wont-respect-my-privacy#tab=featured', + 'info_dict': { + 'id': '85487c96-b3b9-4e39-9127-ad88583d9bf2', + 'ext': 'mp4', + 'title': 'The Government Won\'t Respect My Privacy', + 'description': 'Cartman explains the benefits of "Shitter" to Stan, Kyle and Craig.', }, }] diff --git a/youtube_dl/extractor/vevo.py b/youtube_dl/extractor/vevo.py index f0673972c..e458ac961 100644 --- a/youtube_dl/extractor/vevo.py +++ b/youtube_dl/extractor/vevo.py @@ -1,7 +1,6 @@ from __future__ import unicode_literals import re -import json import xml.etree.ElementTree import datetime diff --git a/youtube_dl/extractor/xhamster.py b/youtube_dl/extractor/xhamster.py index d317f29f2..f6c515f7f 100644 --- a/youtube_dl/extractor/xhamster.py +++ b/youtube_dl/extractor/xhamster.py @@ -5,7 +5,6 @@ import re from .common import InfoExtractor from ..utils import ( compat_urllib_parse, - unescapeHTML, ExtractorError, )