From 9d850eec2d116e8708de0d4d80ebda8d457f994c Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Thu, 27 Feb 2014 15:36:42 -0500 Subject: [PATCH] Fix case where both old and new transcripts are uploaded, but transcript language isn't one of the new transcripts. --- common/lib/xmodule/xmodule/video_module/video_module.py | 8 +++++--- lms/djangoapps/courseware/tests/test_video_mongo.py | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/common/lib/xmodule/xmodule/video_module/video_module.py b/common/lib/xmodule/xmodule/video_module/video_module.py index 0864ce18ac..172ab8cc33 100644 --- a/common/lib/xmodule/xmodule/video_module/video_module.py +++ b/common/lib/xmodule/xmodule/video_module/video_module.py @@ -251,8 +251,10 @@ class VideoModule(VideoFields, XModule): else: if self.transcript_language in self.transcripts: transcript_language = self.transcript_language + elif self.sub: + transcript_language = 'en' else: - transcript_language = self.transcripts.keys()[0] + transcript_language = sorted(self.transcripts.keys())[0] languages = { lang: display @@ -264,7 +266,7 @@ class VideoModule(VideoFields, XModule): languages['en'] = 'English' # OrderedDict for easy testing of rendered context in tests - transcript_languages = OrderedDict(sorted(languages.items(), key=itemgetter(1))) + sorted_languages = OrderedDict(sorted(languages.items(), key=itemgetter(1))) return self.system.render_template('video.html', { 'ajax_url': self.system.ajax_url + '/save_user_state', @@ -289,7 +291,7 @@ class VideoModule(VideoFields, XModule): 'yt_test_timeout': 1500, 'yt_test_url': settings.YOUTUBE_TEST_URL, 'transcript_language': transcript_language, - 'transcript_languages': json.dumps(transcript_languages), + 'transcript_languages': json.dumps(sorted_languages), 'transcript_translation_url': self.runtime.handler_url(self, 'transcript').rstrip('/?') + '/translation', 'transcript_available_translations_url': self.runtime.handler_url(self, 'transcript').rstrip('/?') + '/available_translations', }) diff --git a/lms/djangoapps/courseware/tests/test_video_mongo.py b/lms/djangoapps/courseware/tests/test_video_mongo.py index 80849286ea..5b74762b4a 100644 --- a/lms/djangoapps/courseware/tests/test_video_mongo.py +++ b/lms/djangoapps/courseware/tests/test_video_mongo.py @@ -208,8 +208,8 @@ class TestGetHtmlMethod(BaseTestXmodule): context = self.item_descriptor.render('student_view').content expected_context.update({ - 'transcript_languages': '{"en": "English"}' if self.item_descriptor.sub else '{}', - 'transcript_language': 'en' if self.item_descriptor.sub else json.dumps(None), + 'transcript_languages': '{"en": "English"}', + 'transcript_language': 'en', 'transcript_translation_url': self.item_descriptor.xmodule_runtime.handler_url( self.item_descriptor, 'transcript' ).rstrip('/?') + '/translation',