[arte] Detect unavailable videos (closes #13945)
This commit is contained in:
		
							parent
							
								
									a5ac0c4755
								
							
						
					
					
						commit
						c0892b2b46
					
				| @ -9,12 +9,13 @@ from ..compat import ( | |||||||
|     compat_urllib_parse_urlparse, |     compat_urllib_parse_urlparse, | ||||||
| ) | ) | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|  |     ExtractorError, | ||||||
|     find_xpath_attr, |     find_xpath_attr, | ||||||
|     unified_strdate, |  | ||||||
|     get_element_by_attribute, |     get_element_by_attribute, | ||||||
|     int_or_none, |     int_or_none, | ||||||
|     NO_DEFAULT, |     NO_DEFAULT, | ||||||
|     qualities, |     qualities, | ||||||
|  |     unified_strdate, | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| # There are different sources of video in arte.tv, the extraction process | # 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) |         info = self._download_json(json_url, video_id) | ||||||
|         player_info = info['videoJsonPlayer'] |         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') |         upload_date_str = player_info.get('shootingDate') | ||||||
|         if not upload_date_str: |         if not upload_date_str: | ||||||
|             upload_date_str = (player_info.get('VRA') or player_info.get('VDA') or '').split(' ')[0] |             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) |         langcode = LANGS.get(lang, lang) | ||||||
| 
 | 
 | ||||||
|         formats = [] |         formats = [] | ||||||
|         for format_id, format_dict in player_info['VSR'].items(): |         for format_id, format_dict in vsr.items(): | ||||||
|             f = dict(format_dict) |             f = dict(format_dict) | ||||||
|             versionCode = f.get('versionCode') |             versionCode = f.get('versionCode') | ||||||
|             l = re.escape(langcode) |             l = re.escape(langcode) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user