[vimeo] Some modernization and style fixes
parent
7558830fa3
commit
4f3e943080
|
@ -29,7 +29,7 @@ class VimeoBaseInfoExtractor(InfoExtractor):
|
||||||
(username, password) = self._get_login_info()
|
(username, password) = self._get_login_info()
|
||||||
if username is None:
|
if username is None:
|
||||||
if self._LOGIN_REQUIRED:
|
if self._LOGIN_REQUIRED:
|
||||||
raise ExtractorError(u'No login info available, needed for using %s.' % self.IE_NAME, expected=True)
|
raise ExtractorError('No login info available, needed for using %s.' % self.IE_NAME, expected=True)
|
||||||
return
|
return
|
||||||
self.report_login()
|
self.report_login()
|
||||||
login_url = 'https://vimeo.com/log_in'
|
login_url = 'https://vimeo.com/log_in'
|
||||||
|
@ -78,10 +78,11 @@ class VimeoIE(VimeoBaseInfoExtractor, SubtitlesInfoExtractor):
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url': 'http://vimeopro.com/openstreetmapus/state-of-the-map-us-2013/video/68093876',
|
'url': 'http://vimeopro.com/openstreetmapus/state-of-the-map-us-2013/video/68093876',
|
||||||
'file': '68093876.mp4',
|
|
||||||
'md5': '3b5ca6aa22b60dfeeadf50b72e44ed82',
|
'md5': '3b5ca6aa22b60dfeeadf50b72e44ed82',
|
||||||
'note': 'Vimeo Pro video (#1197)',
|
'note': 'Vimeo Pro video (#1197)',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
|
'id': '68093876',
|
||||||
|
'ext': 'mp4',
|
||||||
'uploader_id': 'openstreetmapus',
|
'uploader_id': 'openstreetmapus',
|
||||||
'uploader': 'OpenStreetMap US',
|
'uploader': 'OpenStreetMap US',
|
||||||
'title': 'Andy Allan - Putting the Carto into OpenStreetMap Cartography',
|
'title': 'Andy Allan - Putting the Carto into OpenStreetMap Cartography',
|
||||||
|
@ -89,10 +90,11 @@ class VimeoIE(VimeoBaseInfoExtractor, SubtitlesInfoExtractor):
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url': 'http://player.vimeo.com/video/54469442',
|
'url': 'http://player.vimeo.com/video/54469442',
|
||||||
'file': '54469442.mp4',
|
|
||||||
'md5': '619b811a4417aa4abe78dc653becf511',
|
'md5': '619b811a4417aa4abe78dc653becf511',
|
||||||
'note': 'Videos that embed the url in the player page',
|
'note': 'Videos that embed the url in the player page',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
|
'id': '54469442',
|
||||||
|
'ext': 'mp4',
|
||||||
'title': 'Kathy Sierra: Building the minimum Badass User, Business of Software',
|
'title': 'Kathy Sierra: Building the minimum Badass User, Business of Software',
|
||||||
'uploader': 'The BLN & Business of Software',
|
'uploader': 'The BLN & Business of Software',
|
||||||
'uploader_id': 'theblnbusinessofsoftware',
|
'uploader_id': 'theblnbusinessofsoftware',
|
||||||
|
@ -100,10 +102,11 @@ class VimeoIE(VimeoBaseInfoExtractor, SubtitlesInfoExtractor):
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url': 'http://vimeo.com/68375962',
|
'url': 'http://vimeo.com/68375962',
|
||||||
'file': '68375962.mp4',
|
|
||||||
'md5': 'aaf896bdb7ddd6476df50007a0ac0ae7',
|
'md5': 'aaf896bdb7ddd6476df50007a0ac0ae7',
|
||||||
'note': 'Video protected with password',
|
'note': 'Video protected with password',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
|
'id': '68375962',
|
||||||
|
'ext': 'mp4',
|
||||||
'title': 'youtube-dl password protected test video',
|
'title': 'youtube-dl password protected test video',
|
||||||
'upload_date': '20130614',
|
'upload_date': '20130614',
|
||||||
'uploader_id': 'user18948128',
|
'uploader_id': 'user18948128',
|
||||||
|
@ -143,14 +146,16 @@ class VimeoIE(VimeoBaseInfoExtractor, SubtitlesInfoExtractor):
|
||||||
if password is None:
|
if password is None:
|
||||||
raise ExtractorError('This video is protected by a password, use the --video-password option')
|
raise ExtractorError('This video is protected by a password, use the --video-password option')
|
||||||
token = self._search_regex(r'xsrft: \'(.*?)\'', webpage, 'login token')
|
token = self._search_regex(r'xsrft: \'(.*?)\'', webpage, 'login token')
|
||||||
data = compat_urllib_parse.urlencode({'password': password,
|
data = compat_urllib_parse.urlencode({
|
||||||
'token': token})
|
'password': password,
|
||||||
|
'token': token,
|
||||||
|
})
|
||||||
# I didn't manage to use the password with https
|
# I didn't manage to use the password with https
|
||||||
if url.startswith('https'):
|
if url.startswith('https'):
|
||||||
pass_url = url.replace('https','http')
|
pass_url = url.replace('https', 'http')
|
||||||
else:
|
else:
|
||||||
pass_url = url
|
pass_url = url
|
||||||
password_request = compat_urllib_request.Request(pass_url+'/password', data)
|
password_request = compat_urllib_request.Request(pass_url + '/password', data)
|
||||||
password_request.add_header('Content-Type', 'application/x-www-form-urlencoded')
|
password_request.add_header('Content-Type', 'application/x-www-form-urlencoded')
|
||||||
password_request.add_header('Cookie', 'xsrft=%s' % token)
|
password_request.add_header('Cookie', 'xsrft=%s' % token)
|
||||||
self._download_webpage(password_request, video_id,
|
self._download_webpage(password_request, video_id,
|
||||||
|
@ -305,7 +310,7 @@ class VimeoIE(VimeoBaseInfoExtractor, SubtitlesInfoExtractor):
|
||||||
file_info = {}
|
file_info = {}
|
||||||
if video_url is None:
|
if video_url is None:
|
||||||
video_url = "http://player.vimeo.com/play_redirect?clip_id=%s&sig=%s&time=%s&quality=%s&codecs=%s&type=moogaloop_local&embed_location=" \
|
video_url = "http://player.vimeo.com/play_redirect?clip_id=%s&sig=%s&time=%s&quality=%s&codecs=%s&type=moogaloop_local&embed_location=" \
|
||||||
%(video_id, sig, timestamp, quality, codec_name.upper())
|
% (video_id, sig, timestamp, quality, codec_name.upper())
|
||||||
|
|
||||||
files[key].append({
|
files[key].append({
|
||||||
'ext': codec_extension,
|
'ext': codec_extension,
|
||||||
|
@ -364,7 +369,7 @@ class VimeoChannelIE(InfoExtractor):
|
||||||
video_ids = []
|
video_ids = []
|
||||||
for pagenum in itertools.count(1):
|
for pagenum in itertools.count(1):
|
||||||
webpage = self._download_webpage(
|
webpage = self._download_webpage(
|
||||||
self._page_url(base_url, pagenum) ,list_id,
|
self._page_url(base_url, pagenum), list_id,
|
||||||
'Downloading page %s' % pagenum)
|
'Downloading page %s' % pagenum)
|
||||||
video_ids.extend(re.findall(r'id="clip_(\d+?)"', webpage))
|
video_ids.extend(re.findall(r'id="clip_(\d+?)"', webpage))
|
||||||
if re.search(self._MORE_PAGES_INDICATOR, webpage, re.DOTALL) is None:
|
if re.search(self._MORE_PAGES_INDICATOR, webpage, re.DOTALL) is None:
|
||||||
|
@ -380,7 +385,7 @@ class VimeoChannelIE(InfoExtractor):
|
||||||
|
|
||||||
def _real_extract(self, url):
|
def _real_extract(self, url):
|
||||||
mobj = re.match(self._VALID_URL, url)
|
mobj = re.match(self._VALID_URL, url)
|
||||||
channel_id = mobj.group('id')
|
channel_id = mobj.group('id')
|
||||||
return self._extract_videos(channel_id, 'http://vimeo.com/channels/%s' % channel_id)
|
return self._extract_videos(channel_id, 'http://vimeo.com/channels/%s' % channel_id)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue