fixed bug where undesirable results where returned if the desired language was only available as generated transcript

This commit is contained in:
Jonas Depoix 2019-12-13 11:15:32 +01:00
parent c2c49c3c17
commit 41300585a1
1 changed files with 7 additions and 13 deletions

View File

@ -131,12 +131,7 @@ class TranscriptList():
:rtype: Transcript
:raises: NoTranscriptFound
"""
try:
return self.find_manually_created_transcript(language_codes)
except NoTranscriptFound:
pass
return self.find_generated_transcript(language_codes)
return self._find_transcript(language_codes, [self._manually_created_transcripts, self._generated_transcripts])
def find_generated_transcript(self, language_codes):
"""
@ -150,7 +145,7 @@ class TranscriptList():
:rtype: Transcript
:raises: NoTranscriptFound
"""
return self._find_transcript(language_codes, generated=True)
return self._find_transcript(language_codes, [self._generated_transcripts,])
def find_manually_created_transcript(self, language_codes):
"""
@ -164,14 +159,13 @@ class TranscriptList():
:rtype: Transcript
:raises: NoTranscriptFound
"""
return self._find_transcript(language_codes, generated=False)
def _find_transcript(self, language_codes, generated):
transcripts = self._generated_transcripts if generated else self._manually_created_transcripts
return self._find_transcript(language_codes, [self._manually_created_transcripts,])
def _find_transcript(self, language_codes, transcript_dicts):
for language_code in language_codes:
if language_code in transcripts:
return transcripts[language_code]
for transcript_dict in transcript_dicts:
if language_code in transcript_dict:
return transcript_dict[language_code]
raise NoTranscriptFound(
self.video_id,