[vimeo] Fix ondemand videos and direct URLs with hash

Closes #1353, #1471
This commit is contained in:
pukkandan 2021-11-06 01:54:05 +05:30
parent 73673ccff3
commit 2a6f8475ac
No known key found for this signature in database
GPG Key ID: 0F00D95A001F4698

View File

@ -291,7 +291,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
)?
vimeo(?:pro)?\.com/
(?!(?:channels|album|showcase)/[^/?#]+/?(?:$|[?#])|[^/]+/review/|ondemand/)
(?:.*?/)?
(?:[^/]+/)*?
(?:
(?:
play_redirect_hls|
@ -572,8 +572,17 @@ class VimeoIE(VimeoBaseInfoExtractor):
'only_matching': True,
},
{
'note': 'Direct URL with hash',
'url': 'https://vimeo.com/160743502/abd0e13fb4',
'only_matching': True,
'info_dict': {
'id': '160743502',
'ext': 'mp4',
'uploader': 'Julian Tryba',
'uploader_id': 'aliniamedia',
'title': 'Harrisville New Hampshire',
'timestamp': 1459259666,
'upload_date': '20160329',
},
},
{
# requires passing unlisted_hash(a52724358e) to load_download_config request
@ -708,7 +717,8 @@ def _real_extract(self, url):
headers['Referer'] = url
# Extract ID from URL
video_id, unlisted_hash = self._match_valid_url(url).groups()
mobj = self._match_valid_url(url).groupdict()
video_id, unlisted_hash = mobj['id'], mobj.get('unlisted_hash')
if unlisted_hash:
return self._extract_from_api(video_id, unlisted_hash)