Fix case where both old and new transcripts are uploaded, but transcript language isn't one of the new transcripts.

This commit is contained in:
Calen Pennington
2014-02-27 15:36:42 -05:00
committed by Adam Palay
parent 287d84ba95
commit 9d850eec2d
2 changed files with 7 additions and 5 deletions

View File

@@ -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',
})

View File

@@ -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',