mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 10:27:07 -05:00 
			
		
		
		
	[vimeo] redirect to feature url only in the case of a trailer(closes #14591)
This commit is contained in:
		@@ -571,19 +571,23 @@ class VimeoIE(VimeoBaseInfoExtractor):
 | 
			
		||||
            if config.get('view') == 4:
 | 
			
		||||
                config = self._verify_player_video_password(redirect_url, video_id)
 | 
			
		||||
 | 
			
		||||
        vod = config.get('video', {}).get('vod', {})
 | 
			
		||||
 | 
			
		||||
        def is_rented():
 | 
			
		||||
            if '>You rented this title.<' in webpage:
 | 
			
		||||
                return True
 | 
			
		||||
            if config.get('user', {}).get('purchased'):
 | 
			
		||||
                return True
 | 
			
		||||
            label = try_get(
 | 
			
		||||
                config, lambda x: x['video']['vod']['purchase_options'][0]['label_string'], compat_str)
 | 
			
		||||
            if label and label.startswith('You rented this'):
 | 
			
		||||
            for purchase_option in vod.get('purchase_options', []):
 | 
			
		||||
                if purchase_option.get('purchased'):
 | 
			
		||||
                    return True
 | 
			
		||||
                label = purchase_option.get('label_string')
 | 
			
		||||
                if label and (label.startswith('You rented this') or label.endswith(' remaining')):
 | 
			
		||||
                    return True
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
        if is_rented():
 | 
			
		||||
            feature_id = config.get('video', {}).get('vod', {}).get('feature_id')
 | 
			
		||||
        if is_rented() and vod.get('is_trailer'):
 | 
			
		||||
            feature_id = vod.get('feature_id')
 | 
			
		||||
            if feature_id and not data.get('force_feature_id', False):
 | 
			
		||||
                return self.url_result(smuggle_url(
 | 
			
		||||
                    'https://player.vimeo.com/player/%s' % feature_id,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user