Пример #1
0
    def evaluation_question(cls, assignment, evaluation_number):
        dateToStartOn = assignment.answer_end.replace(
            tzinfo=pytz.utc).strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z'
        dateToSubmit = None
        description = None
        if assignment.compare_start and assignment.compare_end:
            dateToStartOn = assignment.compare_start.replace(
                tzinfo=pytz.utc).strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z'
            dateToSubmit = assignment.compare_end.replace(
                tzinfo=pytz.utc).strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z'

        if assignment.peer_feedback_prompt:
            description = LearningRecord.trim_text_to_size_limit(
                assignment.peer_feedback_prompt)

        return caliper.entities.AssessmentItem(
            id=ResourceIRI.evaluation_question(assignment.course_uuid,
                                               assignment.uuid,
                                               evaluation_number),
            name="Assignment Answer Evaluation #" + str(evaluation_number),
            description=description,
            dateToStartOn=dateToStartOn,
            dateToSubmit=dateToSubmit,
            isPartOf=CaliperEntities.assignment(assignment),
            dateCreated=assignment.created.replace(
                tzinfo=pytz.utc).strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z',
            dateModified=assignment.modified.replace(
                tzinfo=pytz.utc).strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z')
Пример #2
0
    def assignment(cls, assignment):
        items = []
        description = None

        if assignment.description:
            description = LearningRecord.trim_text_to_size_limit(
                assignment.description)

        items.append(
            caliper.entities.AssessmentItem(id=ResourceIRI.assignment_question(
                assignment.course_uuid, assignment.uuid)))
        for index in range(assignment.number_of_comparisons):
            current = index + 1
            items.append(
                caliper.entities.AssessmentItem(
                    id=ResourceIRI.comparison_question(
                        assignment.course_uuid, assignment.uuid, current)))
            items.append(
                caliper.entities.AssessmentItem(
                    id=ResourceIRI.evaluation_question(
                        assignment.course_uuid, assignment.uuid, (current *
                                                                  2) - 1)))
            items.append(
                caliper.entities.AssessmentItem(
                    id=ResourceIRI.evaluation_question(
                        assignment.course_uuid, assignment.uuid, (current *
                                                                  2))))
        if assignment.enable_self_evaluation:
            items.append(
                caliper.entities.AssessmentItem(
                    id=ResourceIRI.self_evaluation_question(
                        assignment.course_uuid, assignment.uuid)))

        return caliper.entities.Assessment(
            id=ResourceIRI.assignment(assignment.course_uuid, assignment.uuid),
            name=LearningRecord.trim_text_to_size_limit(assignment.name),
            description=description,
            dateToStartOn=assignment.answer_start.replace(
                tzinfo=pytz.utc).strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z',
            isPartOf=CaliperEntities.course(assignment.course),
            items=items,
            dateCreated=assignment.created.replace(
                tzinfo=pytz.utc).strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z',
            dateModified=assignment.modified.replace(
                tzinfo=pytz.utc).strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z')
Пример #3
0
    def assignment(cls, assignment):
        ret = {
            "id": ResourceIRI.assignment(assignment.course_uuid, assignment.uuid),
            "type": CALIPER_ENTITY_TYPES["ASSESSMENT"],
            "name": LearningRecord.trim_text_to_size_limit(assignment.name),
            "dateToStartOn": assignment.answer_start.replace(tzinfo=pytz.utc).isoformat(),
            "isPartOf": CaliperEntities.course(assignment.course),
            "items": [],
            "dateCreated": assignment.created.replace(tzinfo=pytz.utc).isoformat(),
            "dateModified": assignment.modified.replace(tzinfo=pytz.utc).isoformat()
        }

        ret["items"].append({
            "id": ResourceIRI.assignment_question(assignment.course_uuid, assignment.uuid),
            "type": CALIPER_ENTITY_TYPES["ASSESSMENT_ITEM"]
        })

        for index in range(assignment.number_of_comparisons):
            current = index + 1
            ret["items"].append({
                "id": ResourceIRI.comparison_question(assignment.course_uuid, assignment.uuid, current),
                "type": CALIPER_ENTITY_TYPES["ASSESSMENT_ITEM"]
            })
            ret["items"].append({
                "id": ResourceIRI.evaluation_question(assignment.course_uuid, assignment.uuid, (current * 2) - 1),
                "type": CALIPER_ENTITY_TYPES["ASSESSMENT_ITEM"]
            })
            ret["items"].append({
                "id": ResourceIRI.evaluation_question(assignment.course_uuid, assignment.uuid, (current * 2)),
                "type": CALIPER_ENTITY_TYPES["ASSESSMENT_ITEM"]
            })

        if assignment.enable_self_evaluation:
            ret["items"].append({
                "id": ResourceIRI.self_evaluation_question(assignment.course_uuid, assignment.uuid),
                "type": CALIPER_ENTITY_TYPES["ASSESSMENT_ITEM"]
            })

        if assignment.description:
            ret["description"] = LearningRecord.trim_text_to_size_limit(assignment.description)

        return ret
Пример #4
0
    def evaluation_question(cls, assignment, evaluation_number):
        activity = Activity(
            id=ResourceIRI.evaluation_question(assignment.course_uuid, assignment.uuid, evaluation_number),
            definition=ActivityDefinition(
                type=XAPIActivity.activity_types.get('question'),
                name=LanguageMap({ 'en-US': "Assignment Answer Evaluation #"+str(evaluation_number) }),
            )
        )
        if assignment.peer_feedback_prompt:
            activity.definition.description = LanguageMap({
                'en-US': LearningRecord.trim_text_to_size_limit(assignment.peer_feedback_prompt)
            })

        return activity
Пример #5
0
    def evaluation_question(cls, assignment, evaluation_number):
        ret = {
            "id": ResourceIRI.evaluation_question(assignment.course_uuid, assignment.uuid, evaluation_number),
            "type": CALIPER_ENTITY_TYPES["ASSESSMENT_ITEM"],
            "name": "Assignment Answer Evaluation #"+str(evaluation_number),
            "isPartOf": CaliperEntities.assignment(assignment),
            "dateCreated": assignment.created.replace(tzinfo=pytz.utc).isoformat(),
            "dateModified": assignment.modified.replace(tzinfo=pytz.utc).isoformat()
        }

        if assignment.compare_start and assignment.compare_end:
            ret["dateToStartOn"] = assignment.compare_start.replace(tzinfo=pytz.utc).isoformat()
            ret["dateToSubmit"] = assignment.compare_end.replace(tzinfo=pytz.utc).isoformat()
        else:
            ret["dateToStartOn"] = assignment.answer_end.replace(tzinfo=pytz.utc).isoformat()

        if assignment.peer_feedback_prompt:
            ret["description"] = LearningRecord.trim_text_to_size_limit(assignment.peer_feedback_prompt)

        return ret
Пример #6
0
    def evaluation_question(cls, assignment, evaluation_number):
        activity = Activity(
            id=ResourceIRI.evaluation_question(assignment.course_uuid,
                                               assignment.uuid,
                                               evaluation_number),
            definition=ActivityDefinition(
                type=XAPIActivity.activity_types.get('question'),
                name=LanguageMap({
                    'en-US':
                    "Assignment Answer Evaluation #" + str(evaluation_number)
                }),
            ))
        if assignment.peer_feedback_prompt:
            activity.definition.description = LanguageMap({
                'en-US':
                LearningRecord.trim_text_to_size_limit(
                    assignment.peer_feedback_prompt)
            })

        return activity