[redbulltv] improve support for rebull.com TV localized URLS(#22063)
This commit is contained in:
		
							parent
							
								
									1f7675451c
								
							
						
					
					
						commit
						b03eebdb6a
					
				
					 1 changed files with 16 additions and 1 deletions
				
			
		| 
						 | 
					@ -192,7 +192,14 @@ class RedBullIE(InfoExtractor):
 | 
				
			||||||
    }, {
 | 
					    }, {
 | 
				
			||||||
        'url': 'https://www.redbull.com/int-en/live/mens-dh-finals-fort-william',
 | 
					        'url': 'https://www.redbull.com/int-en/live/mens-dh-finals-fort-william',
 | 
				
			||||||
        'only_matching': True,
 | 
					        'only_matching': True,
 | 
				
			||||||
 | 
					    }, {
 | 
				
			||||||
 | 
					        # only available on the int-en website so a fallback is need for the API
 | 
				
			||||||
 | 
					        # https://www.redbull.com/v3/api/graphql/v1/v3/query/en-GB>en-INT?filter[uriSlug]=fia-wrc-saturday-recap-estonia&rb3Schema=v1:hero
 | 
				
			||||||
 | 
					        'url': 'https://www.redbull.com/gb-en/live/fia-wrc-saturday-recap-estonia',
 | 
				
			||||||
 | 
					        'only_matching': True,
 | 
				
			||||||
    }]
 | 
					    }]
 | 
				
			||||||
 | 
					    _INT_FALLBACK_LIST = ['de', 'en', 'es', 'fr']
 | 
				
			||||||
 | 
					    _LAT_FALLBACK_MAP = ['ar', 'bo', 'car', 'cl', 'co', 'mx', 'pe']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def _real_extract(self, url):
 | 
					    def _real_extract(self, url):
 | 
				
			||||||
        region, lang, filter_type, display_id = re.search(self._VALID_URL, url).groups()
 | 
					        region, lang, filter_type, display_id = re.search(self._VALID_URL, url).groups()
 | 
				
			||||||
| 
						 | 
					@ -201,8 +208,16 @@ class RedBullIE(InfoExtractor):
 | 
				
			||||||
        elif filter_type == 'live':
 | 
					        elif filter_type == 'live':
 | 
				
			||||||
            filter_type = 'live-videos'
 | 
					            filter_type = 'live-videos'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        regions = [region.upper()]
 | 
				
			||||||
 | 
					        if region != 'int':
 | 
				
			||||||
 | 
					            if region in self._LAT_FALLBACK_MAP:
 | 
				
			||||||
 | 
					                regions.append('LAT')
 | 
				
			||||||
 | 
					            if lang in self._INT_FALLBACK_LIST:
 | 
				
			||||||
 | 
					                regions.append('INT')
 | 
				
			||||||
 | 
					        locale = '>'.join(['%s-%s' % (lang, reg) for reg in regions])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        rrn_id = self._download_json(
 | 
					        rrn_id = self._download_json(
 | 
				
			||||||
            'https://www.redbull.com/v3/api/graphql/v1/v3/query/%s-%s' % (lang, region.upper()),
 | 
					            'https://www.redbull.com/v3/api/graphql/v1/v3/query/' + locale,
 | 
				
			||||||
            display_id, query={
 | 
					            display_id, query={
 | 
				
			||||||
                'filter[type]': filter_type,
 | 
					                'filter[type]': filter_type,
 | 
				
			||||||
                'filter[uriSlug]': display_id,
 | 
					                'filter[uriSlug]': display_id,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue