mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-21 20:46:36 -05:00
[vimeo] redirect to feature url only in the case of a trailer(closes #14591)
This commit is contained in:
parent
3661ebf2b6
commit
8b40c92724
1 changed files with 10 additions and 6 deletions
|
@ -571,19 +571,23 @@ def _real_extract(self, url):
|
||||||
if config.get('view') == 4:
|
if config.get('view') == 4:
|
||||||
config = self._verify_player_video_password(redirect_url, video_id)
|
config = self._verify_player_video_password(redirect_url, video_id)
|
||||||
|
|
||||||
|
vod = config.get('video', {}).get('vod', {})
|
||||||
|
|
||||||
def is_rented():
|
def is_rented():
|
||||||
if '>You rented this title.<' in webpage:
|
if '>You rented this title.<' in webpage:
|
||||||
return True
|
return True
|
||||||
if config.get('user', {}).get('purchased'):
|
if config.get('user', {}).get('purchased'):
|
||||||
return True
|
return True
|
||||||
label = try_get(
|
for purchase_option in vod.get('purchase_options', []):
|
||||||
config, lambda x: x['video']['vod']['purchase_options'][0]['label_string'], compat_str)
|
if purchase_option.get('purchased'):
|
||||||
if label and label.startswith('You rented this'):
|
return True
|
||||||
return True
|
label = purchase_option.get('label_string')
|
||||||
|
if label and (label.startswith('You rented this') or label.endswith(' remaining')):
|
||||||
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if is_rented():
|
if is_rented() and vod.get('is_trailer'):
|
||||||
feature_id = config.get('video', {}).get('vod', {}).get('feature_id')
|
feature_id = vod.get('feature_id')
|
||||||
if feature_id and not data.get('force_feature_id', False):
|
if feature_id and not data.get('force_feature_id', False):
|
||||||
return self.url_result(smuggle_url(
|
return self.url_result(smuggle_url(
|
||||||
'https://player.vimeo.com/player/%s' % feature_id,
|
'https://player.vimeo.com/player/%s' % feature_id,
|
||||||
|
|
Loading…
Reference in a new issue