diff --git a/common/lib/xmodule/xmodule/tests/test_video.py b/common/lib/xmodule/xmodule/tests/test_video.py
index 9790b8b208..ae84f25b24 100644
--- a/common/lib/xmodule/xmodule/tests/test_video.py
+++ b/common/lib/xmodule/xmodule/tests/test_video.py
@@ -741,6 +741,15 @@ class VideoExportTestCase(VideoDescriptorTestBase):
expected = '\n'
self.assertEquals(expected, etree.tostring(xml, pretty_print=True))
+ def test_export_to_xml_with_transcripts_as_none(self):
+ """
+ Test XML export with transcripts being overridden to None.
+ """
+ self.descriptor.transcripts = None
+ xml = self.descriptor.definition_to_xml(None)
+ expected = '\n'
+ self.assertEquals(expected, etree.tostring(xml, pretty_print=True))
+
class VideoDescriptorIndexingTestCase(unittest.TestCase):
"""
diff --git a/common/lib/xmodule/xmodule/video_module/video_module.py b/common/lib/xmodule/xmodule/video_module/video_module.py
index 6c25904b05..e27e92ac55 100644
--- a/common/lib/xmodule/xmodule/video_module/video_module.py
+++ b/common/lib/xmodule/xmodule/video_module/video_module.py
@@ -573,12 +573,13 @@ class VideoDescriptor(VideoFields, VideoTranscriptsMixin, VideoStudioViewHandler
ele.set('src', self.handout)
xml.append(ele)
- # sorting for easy testing of resulting xml
- for transcript_language in sorted(self.transcripts.keys()):
- ele = etree.Element('transcript')
- ele.set('language', transcript_language)
- ele.set('src', self.transcripts[transcript_language])
- xml.append(ele)
+ if self.transcripts is not None:
+ # sorting for easy testing of resulting xml
+ for transcript_language in sorted(self.transcripts.keys()):
+ ele = etree.Element('transcript')
+ ele.set('language', transcript_language)
+ ele.set('src', self.transcripts[transcript_language])
+ xml.append(ele)
if self.edx_video_id and edxval_api:
try: