youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit 4094b6e36d03a6230689657d87de7a58f3f0b581
parent c09cbf0ed91ed54882abe6633b1e70e8a8b7db2d
Author: Philipp Hagemeister <phihag@phihag.de>
Date:   Fri, 11 Jul 2014 10:57:08 +0200

[vodlocker] PEP8, generalization, and simplification (#3223)

Diffstat:
Myoutube_dl/extractor/common.py | 11+++++++++--
Myoutube_dl/extractor/vodlocker.py | 19+++++++++----------
2 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py @@ -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 - diff --git a/youtube_dl/extractor/vodlocker.py b/youtube_dl/extractor/vodlocker.py @@ -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 {