diff --git a/xmodule/video_block/video_handlers.py b/xmodule/video_block/video_handlers.py index cdda2da65b65..b7857e881ece 100644 --- a/xmodule/video_block/video_handlers.py +++ b/xmodule/video_block/video_handlers.py @@ -467,6 +467,7 @@ def validate_transcript_upload_data(self, data): return error + # pylint: disable=too-many-statements @XBlock.handler def studio_transcript(self, request, dispatch): """ @@ -534,6 +535,10 @@ def studio_transcript(self, request, dispatch): 'edx_video_id': edx_video_id, 'language_code': new_language_code } + # If a new transcript is added, then both new_language_code and + # language_code fields will have the same value. + if language_code != new_language_code: + self.transcripts.pop(language_code, None) self.transcripts[new_language_code] = f'{edx_video_id}-{new_language_code}.srt' response = Response(json.dumps(payload), status=201) except (TranscriptsGenerationException, UnicodeDecodeError):