[arte] Detect unavailable videos (closes #13945)
This commit is contained in:
		
							parent
							
								
									a5ac0c4755
								
							
						
					
					
						commit
						c0892b2b46
					
				
					 1 changed files with 10 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -9,12 +9,13 @@ from ..compat import (
 | 
			
		|||
    compat_urllib_parse_urlparse,
 | 
			
		||||
)
 | 
			
		||||
from ..utils import (
 | 
			
		||||
    ExtractorError,
 | 
			
		||||
    find_xpath_attr,
 | 
			
		||||
    unified_strdate,
 | 
			
		||||
    get_element_by_attribute,
 | 
			
		||||
    int_or_none,
 | 
			
		||||
    NO_DEFAULT,
 | 
			
		||||
    qualities,
 | 
			
		||||
    unified_strdate,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# There are different sources of video in arte.tv, the extraction process
 | 
			
		||||
| 
						 | 
				
			
			@ -79,6 +80,13 @@ class ArteTVBaseIE(InfoExtractor):
 | 
			
		|||
        info = self._download_json(json_url, video_id)
 | 
			
		||||
        player_info = info['videoJsonPlayer']
 | 
			
		||||
 | 
			
		||||
        vsr = player_info['VSR']
 | 
			
		||||
 | 
			
		||||
        if not vsr and not player_info.get('VRU'):
 | 
			
		||||
            raise ExtractorError(
 | 
			
		||||
                'Video %s is not available' % player_info.get('VID') or video_id,
 | 
			
		||||
                expected=True)
 | 
			
		||||
 | 
			
		||||
        upload_date_str = player_info.get('shootingDate')
 | 
			
		||||
        if not upload_date_str:
 | 
			
		||||
            upload_date_str = (player_info.get('VRA') or player_info.get('VDA') or '').split(' ')[0]
 | 
			
		||||
| 
						 | 
				
			
			@ -107,7 +115,7 @@ class ArteTVBaseIE(InfoExtractor):
 | 
			
		|||
        langcode = LANGS.get(lang, lang)
 | 
			
		||||
 | 
			
		||||
        formats = []
 | 
			
		||||
        for format_id, format_dict in player_info['VSR'].items():
 | 
			
		||||
        for format_id, format_dict in vsr.items():
 | 
			
		||||
            f = dict(format_dict)
 | 
			
		||||
            versionCode = f.get('versionCode')
 | 
			
		||||
            l = re.escape(langcode)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue