def _defaults(cls, user, course=None): caliper_actor = CaliperActor.generate_actor(user) if impersonation.is_impersonating() and user.id == current_user.id: caliper_actor = CaliperActor.generate_actor(impersonation.get_impersonation_original_user()) defaults = { 'context': CaliperSensor._version, 'eventTime': LearningRecord.generate_timestamp(), 'actor': caliper_actor, 'edApp': ResourceIRI.compair() } session = CaliperEntities.session(caliper_actor) if request: session.setdefault("extensions", {}).setdefault("browser-info", {}) if request.environ.get('HTTP_USER_AGENT'): session["extensions"]["browser-info"]["userAgent"] = request.environ.get('HTTP_USER_AGENT') if request.environ.get('HTTP_REFERER'): session["extensions"]["browser-info"]["referer"] = request.environ.get('HTTP_REFERER') if impersonation.is_impersonating() and user.id == current_user.id: session["extensions"]["impersonating-as"] = CaliperActor.generate_actor(user) defaults['session'] = session if course: defaults['membership'] = CaliperEntities.membership(course, user) return defaults
def _defaults(cls, user, course=None): caliper_actor = CaliperActor.generate_actor(user) if impersonation.is_impersonating() and user.id == current_user.id: caliper_actor = CaliperActor.generate_actor( impersonation.get_impersonation_original_user()) defaults = { 'context': CaliperSensor._version, 'eventTime': LearningRecord.generate_timestamp(), 'actor': caliper_actor, 'edApp': ResourceIRI.compair() } session = CaliperEntities.session(caliper_actor) if request: session.setdefault("extensions", {}).setdefault("browser-info", {}) if request.environ.get('HTTP_USER_AGENT'): session["extensions"]["browser-info"][ "userAgent"] = request.environ.get('HTTP_USER_AGENT') if request.environ.get('HTTP_REFERER'): session["extensions"]["browser-info"][ "referer"] = request.environ.get('HTTP_REFERER') if impersonation.is_impersonating() and user.id == current_user.id: session["extensions"][ "impersonating-as"] = CaliperActor.generate_actor(user) defaults['session'] = session if course: defaults['membership'] = CaliperEntities.membership(course, user) return defaults
def _add_default(cls, user, statement): if not statement.timestamp: statement.timestamp = LearningRecord.generate_timestamp() if impersonation.is_impersonating() and user.id == current_user.id: statement.actor = XAPIActor.generate_actor( impersonation.get_impersonation_original_user()) else: statement.actor = XAPIActor.generate_actor(user) # add default context info if not statement.context: statement.context = Context() if not statement.context.context_activities: statement.context.context_activities = ContextActivities() if not statement.context.context_activities.category: statement.context.context_activities.category = ActivityList() statement.context.context_activities.category.append( XAPIActivity.compair_source()) statement.context.platform = ResourceIRI.compair() if not statement.context.extensions: statement.context.extensions = Extensions() statement.context.extensions[ 'http://id.tincanapi.com/extension/session-info'] = { 'id': ResourceIRI.user_session(sess.get('session_id', '')), 'start_at': sess.get('start_at'), 'login_method': sess.get('login_method'), } if sess.get('end_at'): statement.context.extensions[ 'http://id.tincanapi.com/extension/session-info'][ 'end_at'] = sess.get('end_at') if impersonation.is_impersonating() and user.id == current_user.id: statement.context.extensions[ 'http://id.tincanapi.com/extension/session-info'][ 'impersonating-as'] = XAPIActor.generate_actor( user).as_version() statement.context.extensions[ 'http://id.tincanapi.com/extension/browser-info'] = {} if request and request.environ.get('HTTP_USER_AGENT'): statement.context.extensions[ 'http://id.tincanapi.com/extension/browser-info'][ 'user-agent'] = request.environ.get('HTTP_USER_AGENT') if request and request.environ.get('HTTP_REFERER'): statement.context.extensions[ 'http://id.tincanapi.com/extension/browser-info'][ 'referer'] = request.environ.get('HTTP_REFERER') return statement
def _add_default(cls, user, statement): if not statement.timestamp: statement.timestamp = LearningRecord.generate_timestamp() if impersonation.is_impersonating() and user.id == current_user.id: statement.actor = XAPIActor.generate_actor(impersonation.get_impersonation_original_user()) else: statement.actor = XAPIActor.generate_actor(user) # add default context info if not statement.context: statement.context = Context() if not statement.context.context_activities: statement.context.context_activities = ContextActivities() if not statement.context.context_activities.category: statement.context.context_activities.category = ActivityList() statement.context.context_activities.category.append( XAPIActivity.compair_source() ) statement.context.platform = ResourceIRI.compair() if not statement.context.extensions: statement.context.extensions = Extensions() statement.context.extensions['http://id.tincanapi.com/extension/session-info'] = { 'id': ResourceIRI.user_session(sess.get('session_id', '')), 'start_at': sess.get('start_at'), 'login_method': sess.get('login_method'), } if sess.get('end_at'): statement.context.extensions['http://id.tincanapi.com/extension/session-info']['end_at'] = sess.get('end_at') if impersonation.is_impersonating() and user.id == current_user.id: statement.context.extensions['http://id.tincanapi.com/extension/session-info']['impersonating-as'] = XAPIActor.generate_actor(user) statement.context.extensions['http://id.tincanapi.com/extension/browser-info'] = {} if request and request.environ.get('HTTP_USER_AGENT'): statement.context.extensions['http://id.tincanapi.com/extension/browser-info']['user-agent'] = request.environ.get('HTTP_USER_AGENT') if request and request.environ.get('HTTP_REFERER'): statement.context.extensions['http://id.tincanapi.com/extension/browser-info']['referer'] = request.environ.get('HTTP_REFERER') return statement
def _defaults(cls, user, course=None): caliper_actor = CaliperActor.generate_actor(user) if impersonation.is_impersonating() and user.id == current_user.id: caliper_actor = CaliperActor.generate_actor(impersonation.get_impersonation_original_user()) defaults = { 'context': CaliperSensor._core_context, 'eventTime': LearningRecord.generate_timestamp(), 'actor': caliper_actor, 'edApp': CaliperEntities.compair_app() } session_extensions = {} if impersonation.is_impersonating() and user.id == current_user.id: session_extensions["impersonating-as"] = CaliperActor.generate_actor(user).as_dict() defaults['session'] = CaliperEntities.session(caliper_actor, request, session_extensions) if course: #todo add 'Group' which is the course or the group within the course defaults['membership'] = CaliperEntities.membership(course, user) return defaults