From 41300585a15d468b63a0910795fe205c0a69e150 Mon Sep 17 00:00:00 2001 From: Jonas Depoix Date: Fri, 13 Dec 2019 11:15:32 +0100 Subject: [PATCH] fixed bug where undesirable results where returned if the desired language was only available as generated transcript --- youtube_transcript_api/_transcripts.py | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/youtube_transcript_api/_transcripts.py b/youtube_transcript_api/_transcripts.py index 9e09258..0f131ad 100644 --- a/youtube_transcript_api/_transcripts.py +++ b/youtube_transcript_api/_transcripts.py @@ -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,