本文整理汇总了Python中compair.learning_records.resource_iri.ResourceIRI.user_membership方法的典型用法代码示例。如果您正苦于以下问题:Python ResourceIRI.user_membership方法的具体用法?Python ResourceIRI.user_membership怎么用?Python ResourceIRI.user_membership使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类compair.learning_records.resource_iri.ResourceIRI
的用法示例。
在下文中一共展示了ResourceIRI.user_membership方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: membership
# 需要导入模块: from compair.learning_records.resource_iri import ResourceIRI [as 别名]
# 或者: from compair.learning_records.resource_iri.ResourceIRI import user_membership [as 别名]
def membership(cls, course, user):
membership = {
"id": ResourceIRI.user_membership(course.uuid, user.uuid),
"type": CALIPER_ENTITY_TYPES["MEMBERSHIP"],
"member": CaliperActor.generate_actor(user),
"organization": ResourceIRI.course(course.uuid),
"status": "Active",
"extensions": {}
}
roles = []
course_role = user.get_course_role(course.id)
if course_role in [CourseRole.instructor, CourseRole.teaching_assistant]:
roles.append("Instructor")
if course_role == CourseRole.teaching_assistant:
roles.append("Instructor#TeachingAssistant")
if course_role == CourseRole.student:
roles.append("Learner")
if user.system_role == SystemRole.sys_admin:
roles.append("Administrator")
if len(roles) > 0:
membership["roles"] = roles
if course_role == CourseRole.dropped:
membership['status'] = "Inactive"
if course.lti_has_sis_data:
sis_data = course.lti_sis_data
membership['extensions']['sis_courses'] = []
membership['extensions']['sis_sections'] = []
for sis_course_id, sis_section_ids in sis_data.items():
membership['extensions']['sis_courses'].append(ResourceIRI.sis_course(sis_course_id))
for sis_section_id in sis_section_ids:
membership['extensions']['sis_sections'].append(ResourceIRI.sis_section(sis_course_id, sis_section_id))
sis_course_id = list(sis_data.keys())[0]
sis_section_id = sis_data[sis_course_id][0]
membership['organization'] = cls.course_section(sis_course_id, sis_section_id)
return membership