Commit ceecae7b by M. Rehan

Merge pull request #12001 from edx/mrehan/tnl-4236-nonetype-no-attr-keys

TNL-4236 – Check for video transcripts before using it
parents ed66a1d2 c1dec40c
...@@ -741,6 +741,15 @@ class VideoExportTestCase(VideoDescriptorTestBase): ...@@ -741,6 +741,15 @@ class VideoExportTestCase(VideoDescriptorTestBase):
expected = '<video url_name="SampleProblem" download_video="false"/>\n' expected = '<video url_name="SampleProblem" download_video="false"/>\n'
self.assertEquals(expected, etree.tostring(xml, pretty_print=True)) 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 = '<video url_name="SampleProblem" download_video="false"/>\n'
self.assertEquals(expected, etree.tostring(xml, pretty_print=True))
class VideoDescriptorIndexingTestCase(unittest.TestCase): class VideoDescriptorIndexingTestCase(unittest.TestCase):
""" """
......
...@@ -573,12 +573,13 @@ class VideoDescriptor(VideoFields, VideoTranscriptsMixin, VideoStudioViewHandler ...@@ -573,12 +573,13 @@ class VideoDescriptor(VideoFields, VideoTranscriptsMixin, VideoStudioViewHandler
ele.set('src', self.handout) ele.set('src', self.handout)
xml.append(ele) xml.append(ele)
# sorting for easy testing of resulting xml if self.transcripts is not None:
for transcript_language in sorted(self.transcripts.keys()): # sorting for easy testing of resulting xml
ele = etree.Element('transcript') for transcript_language in sorted(self.transcripts.keys()):
ele.set('language', transcript_language) ele = etree.Element('transcript')
ele.set('src', self.transcripts[transcript_language]) ele.set('language', transcript_language)
xml.append(ele) ele.set('src', self.transcripts[transcript_language])
xml.append(ele)
if self.edx_video_id and edxval_api: if self.edx_video_id and edxval_api:
try: try:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment