[vodlocker] PEP8, generalization, and simplification (#3223)
authorPhilipp Hagemeister <phihag@phihag.de>
Fri, 11 Jul 2014 08:57:08 +0000 (10:57 +0200)
committerPhilipp Hagemeister <phihag@phihag.de>
Fri, 11 Jul 2014 08:57:40 +0000 (10:57 +0200)
youtube_dl/extractor/common.py
youtube_dl/extractor/vodlocker.py

index e4e4feef9ea18787d196b2ca7d3414191409ba97..f1ed3070453de8ed0f162de8af30c3c3f09cf33f 100644 (file)
@@ -1,11 +1,12 @@
 import base64
 import hashlib
 import json
+import netrc
 import os
 import re
 import socket
 import sys
-import netrc
+import time
 import xml.etree.ElementTree
 
 from ..utils import (
@@ -575,6 +576,13 @@ class InfoExtractor(object):
         else:
             return url
 
+    def _sleep(self, timeout, video_id, msg_template=None):
+        if msg_template is None:
+            msg_template = u'%(video_id)s: Waiting for %(timeout)s seconds'
+        msg = msg_template % {'video_id': video_id, 'timeout': timeout}
+        self.to_screen(msg)
+        time.sleep(timeout)
+
 
 class SearchInfoExtractor(InfoExtractor):
     """
@@ -618,4 +626,3 @@ class SearchInfoExtractor(InfoExtractor):
     @property
     def SEARCH_KEY(self):
         return self._SEARCH_KEY
-
index fdab0e7bf662a0047331163654ac935f9da91c2b..dfc570930266891c76fec70b8719943eba6b079a 100644 (file)
@@ -28,9 +28,6 @@ class VodlockerIE(InfoExtractor):
     def _real_extract(self, url):
         mobj = re.match(self._VALID_URL, url)
         video_id = mobj.group('id')
-
-        url = 'http://vodlocker.com/%s' % video_id
-
         webpage = self._download_webpage(url, video_id)
 
         fields = dict(re.findall(r'''(?x)<input\s+
@@ -41,21 +38,23 @@ class VodlockerIE(InfoExtractor):
             ''', webpage))
 
         if fields['op'] == 'download1':
-            time.sleep(3) #they do detect when requests happen too fast!
+            self._sleep(3, video_id)  # they do detect when requests happen too fast!
             post = compat_urllib_parse.urlencode(fields)
             req = compat_urllib_request.Request(url, post)
             req.add_header('Content-type', 'application/x-www-form-urlencoded')
-            webpage = self._download_webpage(req, video_id, 'Downloading video page')
+            webpage = self._download_webpage(
+                req, video_id, 'Downloading video page')
 
-        title = self._search_regex(r'id="file_title".*?>\s*(.*?)\s*<span', webpage, 'title')
-        thumbnail = self._search_regex(r'image:\s*"(http[^\"]+)",', webpage, 'thumbnail')
-        url = self._search_regex(r'file:\s*"(http[^\"]+)",', webpage, 'file url')
+        title = self._search_regex(
+            r'id="file_title".*?>\s*(.*?)\s*<span', webpage, 'title')
+        thumbnail = self._search_regex(
+            r'image:\s*"(http[^\"]+)",', webpage, 'thumbnail')
+        url = self._search_regex(
+            r'file:\s*"(http[^\"]+)",', webpage, 'file url')
 
         formats = [{
             'format_id': 'sd',
             'url': url,
-            'ext': determine_ext(url),
-            'quality': 1,
         }]
 
         return {