def instantiate_descriptor(**field_data): """ Instantiate descriptor with most properties. """ if field_data.get('data', None): field_data = VideoBlock.parse_video_xml(field_data['data']) system = get_test_descriptor_system() course_key = CourseLocator('org', 'course', 'run') usage_key = course_key.make_usage_key('video', 'SampleProblem') return system.construct_xblock_from_class( VideoBlock, scope_ids=ScopeIds(None, None, usage_key, usage_key), field_data=DictFieldData(field_data), )
def set_fields_from_xml(self, item, xml): fields_data = VideoBlock.parse_video_xml(xml) for key, value in fields_data.items(): setattr(item, key, value)
def setUp(self): """ Common setup. """ super(TestMigrateTranscripts, self).setUp() self.store = modulestore() self.course = CourseFactory.create() self.course_2 = CourseFactory.create() video = { 'edx_video_id': 'test_edx_video_id', 'client_video_id': 'test1.mp4', 'duration': 42.0, 'status': 'upload', 'courses': [six.text_type(self.course.id)], 'encoded_videos': [], 'created': datetime.now(pytz.utc) } api.create_video(video) video_sample_xml = ''' <video display_name="Test Video" edx_video_id="test_edx_video_id" youtube="1.0:p2Q6BrNhdh8,0.75:izygArpw-Qo,1.25:1EeWXzPdhSA,1.5:rABDYkeK0x8" show_captions="false" download_track="false" start_time="1.0" download_video="false" end_time="60.0"> <source src="http://www.example.com/source.mp4"/> <track src="http://www.example.com/track"/> <handout src="http://www.example.com/handout"/> <transcript language="ge" src="subs_grmtran1.srt" /> <transcript language="hr" src="subs_croatian1.srt" /> </video> ''' video_sample_xml_2 = ''' <video display_name="Test Video 2" edx_video_id="test_edx_video_id_2" youtube="1.0:p2Q6BrNhdh8,0.75:izygArpw-Qo,1.25:1EeWXzPdhSA,1.5:rABDYkeK0x8" show_captions="false" download_track="false" start_time="1.0" download_video="false" end_time="60.0"> <source src="http://www.example.com/source.mp4"/> <track src="http://www.example.com/track"/> <handout src="http://www.example.com/handout"/> <transcript language="ge" src="not_found.srt" /> </video> ''' self.video_descriptor = ItemFactory.create( parent_location=self.course.location, category='video', **VideoBlock.parse_video_xml(video_sample_xml) ) self.video_descriptor_2 = ItemFactory.create( parent_location=self.course_2.location, category='video', **VideoBlock.parse_video_xml(video_sample_xml_2) ) save_to_store(SRT_FILEDATA, 'subs_grmtran1.srt', 'text/srt', self.video_descriptor.location) save_to_store(CRO_SRT_FILEDATA, 'subs_croatian1.srt', 'text/srt', self.video_descriptor.location)