Beispiel #1
0
def create_quiz(user, quiz_obj, act_xml):

    quiz = Quiz()
    quiz.owner = user
    quiz.title = quiz_obj['title']
    quiz.description = quiz_obj['description']
    quiz.save()

    # save gamification events
    if act_xml.getElementsByTagName('gamification')[:1]:
        events = parse_gamification_events(act_xml.getElementsByTagName('gamification')[0])
        # remove anything existing for this course
        QuizGamificationEvent.objects.filter(quiz=quiz).delete()
        # add new
        for event in events:
            e = QuizGamificationEvent(user=user, quiz=quiz, event=event['name'], points=event['points'])
            e.save()

    quiz_obj['id'] = quiz.pk

    # add quiz props
    create_quiz_props(quiz, quiz_obj)

    # add quiz questions
    create_quiz_questions(user, quiz, quiz_obj)

    return json.dumps(quiz_obj)
Beispiel #2
0
def create_quiz(user, quiz_obj, act_xml):

    quiz = Quiz()
    quiz.owner = user
    quiz.title = quiz_obj['title']
    quiz.description = quiz_obj['description']
    quiz.save()

    # save gamification events
    if act_xml.getElementsByTagName('gamification')[:1]:
        events = parse_gamification_events(
            act_xml.getElementsByTagName('gamification')[0])
        # remove anything existing for this course
        QuizGamificationEvent.objects.filter(quiz=quiz).delete()
        # add new
        for event in events:
            e = QuizGamificationEvent(user=user,
                                      quiz=quiz,
                                      event=event['name'],
                                      points=event['points'])
            e.save()

    quiz_obj['id'] = quiz.pk

    # add quiz props
    create_quiz_props(quiz, quiz_obj)

    # add quiz questions
    create_quiz_questions(user, quiz, quiz_obj)

    return json.dumps(quiz_obj)
Beispiel #3
0
def create_quiz(user, quiz_obj):
    quiz = Quiz()
    quiz.owner = user
    quiz.title = clean_lang_dict(quiz_obj['title'])
    quiz.description = clean_lang_dict(quiz_obj['description'])
    quiz.save()

    # add quiz questions
    create_quiz_questions(user, quiz, quiz_obj)

    return quiz
Beispiel #4
0
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)
Beispiel #5
0
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)
Beispiel #6
0
def create_quiz(req, user, quiz_obj, act_xml, activity=None):

    quiz = Quiz()
    quiz.owner = user
    quiz.title = quiz_obj['title']
    quiz.description = quiz_obj['description']
    quiz.save()

    quiz_obj['id'] = quiz.pk

    # add quiz props
    create_quiz_props(quiz, quiz_obj)

    # add quiz questions
    create_quiz_questions(user, quiz, quiz_obj)

    return json.dumps(quiz_obj)
def quiz():
    category = Category()
    category.name = "teste_category"
    category.save()

    question = Question()
    question.question = "test_question"
    question.answer_A = "test_A"
    question.answer_B = "test_B"
    question.answer_C = "test_C"
    question.save()

    quiz = Quiz()
    quiz.title = "test_quiz"
    quiz.category = category
    quiz.save()
    quiz.question.add(question)
    return quiz
Beispiel #8
0
    def update(self, request):

        meeting = Meeting.objects.get(id = request.data.get('meeting'))

        meeting.title = request.data.get('title')
        meeting.subject_matter = request.data.get('subject_matter')
        meeting.status = request.data.get('status')
        meeting.initial_date = request.data.get('initial_date')
        meeting.final_date = request.data.get('final_date')
        meeting.initial_hour = request.data.get('initial_hour')
        meeting.final_hour = request.data.get('final_hour')
        meeting.save()

        if request.data.get('topics') != None:

            for topic in request.data.get('topics'):

                new_topic = Topic()
                new_topic.title = topic['title']

                if Topic.objects.all().filter(title = new_topic.title) != True:

                    new_topic.save()
                    meeting.topics.add(new_topic)

        if request.data.get('rules') != None:

            for rules in request.data.get('rules'):

                new_rule = Rules()
                new_rule.title = rules['title']

                if Rules.objects.all().filter(title = new_rule.title) != True:

                    new_rule.save()
                    meeting.rules.add(new_rule)

        if request.data.get('users') != None:

            for users in request.data.get('users'):

                new_user = User.objects.get(id = users['id'])
                meeting.users.add(new_user)

        if request.data.get('questtionaire') != None:

            questtionaires = Questionnaire()
            questtionaires.title = request.data.get('questtionaire').get('title')
            questtionaires.save()
            meeting.questtionaire.add(questtionaires)

            order = 1

            for quiz in request.data.get('questtionaire').get('questions'):

                new_quiz = Quiz()
                new_quiz.title = quiz['title']
                new_quiz.order = order
                new_quiz.save()

                for user in meeting.users.all():

                    if user.name == str(meeting.meeting_leader):

                        print('Usuário é o Líder da Reunião')

                    else:

                        new_quiz.users.add(user)

                for choice in quiz.get('choices'):

                    new_choice = Choice()
                    new_choice.title = choice
                    new_choice.save()
                    new_quiz.choices.add(new_choice)

                new_quiz.questtionaire = questtionaires
                new_quiz.save()
                order += 1

        return meeting