|
|
|
@ -837,6 +837,7 @@ class VimeoReviewIE(VimeoBaseInfoExtractor):
|
|
|
|
|
'params': {
|
|
|
|
|
'videopassword': 'holygrail',
|
|
|
|
|
},
|
|
|
|
|
'skip': 'video gone',
|
|
|
|
|
}]
|
|
|
|
|
|
|
|
|
|
def _real_initialize(self):
|
|
|
|
@ -844,9 +845,10 @@ class VimeoReviewIE(VimeoBaseInfoExtractor):
|
|
|
|
|
|
|
|
|
|
def _get_config_url(self, webpage_url, video_id, video_password_verified=False):
|
|
|
|
|
webpage = self._download_webpage(webpage_url, video_id)
|
|
|
|
|
config_url = self._html_search_regex(
|
|
|
|
|
r'data-config-url="([^"]+)"', webpage, 'config URL',
|
|
|
|
|
default=NO_DEFAULT if video_password_verified else None)
|
|
|
|
|
data = self._parse_json(self._search_regex(
|
|
|
|
|
r'window\s*=\s*_extend\(window,\s*({.+?})\);', webpage, 'data',
|
|
|
|
|
default=NO_DEFAULT if video_password_verified else '{}'), video_id)
|
|
|
|
|
config_url = data.get('vimeo_esi', {}).get('config', {}).get('configUrl')
|
|
|
|
|
if config_url is None:
|
|
|
|
|
self._verify_video_password(webpage_url, video_id, webpage)
|
|
|
|
|
config_url = self._get_config_url(
|
|
|
|
|