[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:
Yen Chi Hsuan 2016-06-11 23:00:44 +08:00
parent c83b35d4aa
commit 6d28c408cf
No known key found for this signature in database
GPG key ID: 3FDDD575826C5C30

View file

@ -101,10 +101,13 @@ def _login(self):
self.report_warning('Unable to get session token, login has probably failed') self.report_warning('Unable to get session token, login has probably failed')
@staticmethod @staticmethod
def dict_selection(dict_obj, preferred_key): def dict_selection(dict_obj, preferred_key, allow_fallback=True):
if preferred_key in dict_obj: if preferred_key in dict_obj:
return dict_obj.get(preferred_key) 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()])) filtered_dict = list(filter(None, [dict_obj.get(k) for k in dict_obj.keys()]))
return filtered_dict[0] if filtered_dict else None return filtered_dict[0] if filtered_dict else None
@ -218,7 +221,7 @@ def _real_extract(self, url):
self._check_errors(video) 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: if not title:
title = 'Episode %d' % video.get('number') if video.get('type') == 'episode' else video.get('id') or video_id 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', {}) container_titles = video.get('container', {}).get('titles', {})