mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-03 18:47:06 -05:00 
			
		
		
		
	[viki] Do not use a fallback language for title in the first try
In test_Viki_3, 'titles' gives a Hebrew title.
This commit is contained in:
		@@ -101,10 +101,13 @@ class VikiBaseIE(InfoExtractor):
 | 
			
		||||
            self.report_warning('Unable to get session token, login has probably failed')
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def dict_selection(dict_obj, preferred_key):
 | 
			
		||||
    def dict_selection(dict_obj, preferred_key, allow_fallback=True):
 | 
			
		||||
        if preferred_key in dict_obj:
 | 
			
		||||
            return dict_obj.get(preferred_key)
 | 
			
		||||
 | 
			
		||||
        if not allow_fallback:
 | 
			
		||||
            return
 | 
			
		||||
 | 
			
		||||
        filtered_dict = list(filter(None, [dict_obj.get(k) for k in dict_obj.keys()]))
 | 
			
		||||
        return filtered_dict[0] if filtered_dict else None
 | 
			
		||||
 | 
			
		||||
@@ -218,7 +221,7 @@ class VikiIE(VikiBaseIE):
 | 
			
		||||
 | 
			
		||||
        self._check_errors(video)
 | 
			
		||||
 | 
			
		||||
        title = self.dict_selection(video.get('titles', {}), 'en')
 | 
			
		||||
        title = self.dict_selection(video.get('titles', {}), 'en', allow_fallback=False)
 | 
			
		||||
        if not title:
 | 
			
		||||
            title = 'Episode %d' % video.get('number') if video.get('type') == 'episode' else video.get('id') or video_id
 | 
			
		||||
            container_titles = video.get('container', {}).get('titles', {})
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user