[vimeo] Prevent infinite loops if video password verification fails

We're seeing this in the tests¹ right now, which do not terminate.

¹  https://travis-ci.org/jaimeMF/youtube-dl/jobs/51135858
This commit is contained in:
Philipp Hagemeister 2015-02-18 00:27:57 +01:00
parent 09ab40b7d1
commit 30965ac66a
1 changed files with 5 additions and 1 deletions

View File

@ -18,6 +18,7 @@ from ..utils import (
InAdvancePagedList, InAdvancePagedList,
int_or_none, int_or_none,
RegexNotFoundError, RegexNotFoundError,
smuggle_url,
std_headers, std_headers,
unsmuggle_url, unsmuggle_url,
urlencode_postdata, urlencode_postdata,
@ -267,8 +268,11 @@ class VimeoIE(VimeoBaseInfoExtractor, SubtitlesInfoExtractor):
raise ExtractorError('The author has restricted the access to this video, try with the "--referer" option') raise ExtractorError('The author has restricted the access to this video, try with the "--referer" option')
if re.search(r'<form[^>]+?id="pw_form"', webpage) is not None: if re.search(r'<form[^>]+?id="pw_form"', webpage) is not None:
if data and '_video_password_verified' in data:
raise ExtractorError('video password verification failed!')
self._verify_video_password(url, video_id, webpage) self._verify_video_password(url, video_id, webpage)
return self._real_extract(url) return self._real_extract(
smuggle_url(url, {'_video_password_verified': 'verified'}))
else: else:
raise ExtractorError('Unable to extract info section', raise ExtractorError('Unable to extract info section',
cause=e) cause=e)