diff options
| -rw-r--r-- | test/tests.json | 2 | ||||
| -rwxr-xr-x | youtube_dl/InfoExtractors.py | 28 | ||||
| -rw-r--r-- | youtube_dl/__init__.py | 3 | 
3 files changed, 16 insertions, 17 deletions
| diff --git a/test/tests.json b/test/tests.json index 6013a13ab..2d49495d2 100644 --- a/test/tests.json +++ b/test/tests.json @@ -405,7 +405,7 @@      }    },    { -    "name": "Redtube", +    "name": "RedTube",      "url": "http://www.redtube.com/66418",      "file": "66418.mp4",      "md5": "7b8c22b5e7098a3e1c09709df1126d2d", diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py index 8b2442bac..7d4a60cc8 100755 --- a/youtube_dl/InfoExtractors.py +++ b/youtube_dl/InfoExtractors.py @@ -4183,31 +4183,29 @@ class BandcampIE(InfoExtractor):          return [track_info] -class RedtubeIE(InfoExtractor): +class RedTubeIE(InfoExtractor):      """Information Extractor for redtube"""      _VALID_URL = r'(?:http://)?(?:www\.)?redtube\.com/(?P<id>[0-9]+)' -    IE_NAME = u'redtube'      def _real_extract(self,url):          mobj = re.match(self._VALID_URL, url)          if mobj is None: -            self._downloader.report_error(u'invalid URL: %s' % url) -            return +            raise ExtractorError(u'Invalid URL: %s' % url) +          video_id = mobj.group('id')          video_extension = 'mp4'                  webpage = self._download_webpage(url, video_id)          self.report_extraction(video_id)          mobj = re.search(r'<source src="'+'(.+)'+'" type="video/mp4">',webpage) -        if mobj is not None: -            video_url = mobj.group(1) -        else: -            self._downloader.report_error(u'unable to extract media URL') -            return -        mobj = re.search('<h1 class="videoTitle slidePanelMovable">'+r'(.+)'+r'</h1>',webpage) -        if mobj is not None: -            video_title = mobj.group(1) -        else: -            video_title = 'Redtube - %s' % time.ctime() + +        if mobj is None: +            raise ExtractorError(u'Unable to extract media URL') + +        video_url = mobj.group(1) +        mobj = re.search('<h1 class="videoTitle slidePanelMovable">(.+)</h1>',webpage) +        if mobj is None: +            raise ExtractorError(u'Unable to extract title') +        video_title = mobj.group(1)          return [{              'id':       video_id, @@ -4272,7 +4270,7 @@ def gen_extractors():          ARDIE(),          TumblrIE(),          BandcampIE(), -        RedtubeIE(), +        RedTubeIE(),          GenericIE()      ] diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index 808d4a8c2..823ca63a4 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -388,7 +388,8 @@ def _real_main(argv=None):          if 'http' in proxies and 'https' not in proxies:              proxies['https'] = proxies['http']      proxy_handler = compat_urllib_request.ProxyHandler(proxies) -    opener = compat_urllib_request.build_opener(proxy_handler, cookie_processor, YoutubeDLHandler()) +    https_handler = compat_urllib_request.HTTPSHandler() +    opener = compat_urllib_request.build_opener(https_handler, proxy_handler, cookie_processor, YoutubeDLHandler())      compat_urllib_request.install_opener(opener)      socket.setdefaulttimeout(300) # 5 minutes should be enough (famous last words) | 
