def answer_attempt(cls, answer): ret = { "id": ResourceIRI.answer_attempt(answer.course_uuid, answer.assignment_uuid, answer.attempt_uuid), "type": CALIPER_ENTITY_TYPES["ATTEMPT"], "assignee": CaliperActor.generate_actor(answer.user), "assignable": CaliperEntities.assignment_question(answer.assignment), } ret.update(cls._basic_attempt(answer)) return ret
def answer_attempt(cls, answer): activity = Activity( id=ResourceIRI.answer_attempt(answer.course_uuid, answer.assignment_uuid, answer.attempt_uuid), definition=ActivityDefinition( type=XAPIActivity.activity_types.get('attempt'), extensions=Extensions() ) ) activity.definition.extensions["http://id.tincanapi.com/extension/attempt"] = cls._basic_attempt(answer) return activity
def answer_attempt(cls, answer): activity = Activity( id=ResourceIRI.answer_attempt(answer.course_uuid, answer.assignment_uuid, answer.attempt_uuid), definition=ActivityDefinition( type=XAPIActivity.activity_types.get('attempt'), extensions=Extensions())) activity.definition.extensions[ "http://id.tincanapi.com/extension/attempt"] = cls._basic_attempt( answer) return activity
def answer_attempt(cls, answer): (duration, startedAtTime, endedAtTime) = cls._basic_attempt(answer) assignee = None extensions = {} # Caliper v1.1, v1.2 doesn't easily support tracking group submissions # might be able to use assignee in v1.3 https://github.com/IMSGlobal/caliper-spec/issues/535 if answer.group_id != None: extensions['group'] = CaliperEntities.group(answer.group).as_dict() else: assignee = CaliperActor.generate_actor(answer.user) return caliper.entities.Attempt( id=ResourceIRI.answer_attempt(answer.course_uuid, answer.assignment_uuid, answer.attempt_uuid), assignee=assignee, assignable=CaliperEntities.assignment_question(answer.assignment), duration=duration, startedAtTime=startedAtTime, endedAtTime=endedAtTime, extensions=extensions)