def import_quiz_camtasia8(con_file, video): """ Doc """ #tree = ET.parse(fname) tree = ET.fromstring(con_file.read()) rdf = '{http://www.w3.org/1999/02/22-rdf-syntax-ns#}' tscIQ = '{http://www.techsmith.com/xmp/tscIQ/}' xmpDM = '{http://ns.adobe.com/xmp/1.0/DynamicMedia/}' quiz_xpath = ".//" + rdf + "Description[@" + tscIQ + "questionSetName]" for quiz in tree.findall(quiz_xpath): title = quiz.attrib[tscIQ + "questionSetName"] startTime = int(math.floor(float(quiz.attrib[xmpDM + "startTime"])/1000)) question_xpath = ".//" + rdf + "Description[@" + tscIQ + "id]" quiz_obj = Quiz(title=title) quiz_obj.save() try: marker = QuizMarker(video=video, time=startTime, quiz=quiz_obj) marker.save() qmodule_obj = QuestionModule( title='Dummy Title', quiz=quiz_obj, dummy=True ) qmodule_obj.save() except Exception, e: quiz_obj.delete() try: marker = QuizMarker.objects.get(video=video, time=startTime) quiz_obj = marker.quiz qmodule_obj = QuestionModule.objects.filter(quiz=quiz_obj)[0] if(qmodule_obj.dummy): qmodule_obj.dummy = False qmodule_obj.title = quiz_obj.title qmodule_obj.save() quiz_obj.title = "Quiz : Multiple Questions" quiz_obj.save() qmodule_obj = QuestionModule( title=title, quiz=quiz_obj, dummy=False ) qmodule_obj.save() except Exception,e: marker = None print "Some other error in marker creation at %d, %d" %(startTime, video.id) print(e)
def add_question_module(self, request, pk=None): """ Add a question module """ quiz = get_object_or_404(Quiz, pk=pk) self.check_object_permissions(request, quiz) serializer = serializers.QuestionModuleSerializer(data=request.DATA) if serializer.is_valid(): question_module = QuestionModule( quiz=quiz, title=serializer.data['title'] ) question_module.save() serializer = serializers.QuestionModuleSerializer(question_module) return Response(serializer.data) else: content = serializer.errors return Response(content, status.HTTP_400_BAD_REQUEST)
def import_quiz_camtasia8(con_file, video): """ Doc """ #tree = ET.parse(fname) tree = ET.fromstring(con_file.read()) rdf = '{http://www.w3.org/1999/02/22-rdf-syntax-ns#}' tscIQ = '{http://www.techsmith.com/xmp/tscIQ/}' xmpDM = '{http://ns.adobe.com/xmp/1.0/DynamicMedia/}' quiz_xpath = ".//" + rdf + "Description[@" + tscIQ + "questionSetName]" for quiz in tree.findall(quiz_xpath): title = quiz.attrib[tscIQ + "questionSetName"] startTime = int( math.floor(float(quiz.attrib[xmpDM + "startTime"]) / 1000)) question_xpath = ".//" + rdf + "Description[@" + tscIQ + "id]" quiz_obj = Quiz(title=title) quiz_obj.save() try: marker = QuizMarker(video=video, time=startTime, quiz=quiz_obj) marker.save() qmodule_obj = QuestionModule(title='Dummy Title', quiz=quiz_obj, dummy=True) qmodule_obj.save() except Exception, e: quiz_obj.delete() try: marker = QuizMarker.objects.get(video=video, time=startTime) quiz_obj = marker.quiz qmodule_obj = QuestionModule.objects.filter(quiz=quiz_obj)[0] if (qmodule_obj.dummy): qmodule_obj.dummy = False qmodule_obj.title = quiz_obj.title qmodule_obj.save() quiz_obj.title = "Quiz : Multiple Questions" quiz_obj.save() qmodule_obj = QuestionModule(title=title, quiz=quiz_obj, dummy=False) qmodule_obj.save() except Exception, e: marker = None print "Some other error in marker creation at %d, %d" % ( startTime, video.id) print(e)