def import_course(bundle, repo_id, user_id, static_dir): """ Import a course from an XBundle object. Args: bundle (xbundle.XBundle): Course as xbundle XML repo_id (int): Primary key of repository course belongs to user_id (int): Primary key of Django user doing the import static_dir (unicode): location of static files Returns: learningresources.models.Course """ src = bundle.course course = create_course( org=src.attrib["org"], repo_id=repo_id, course_number=src.attrib["course"], run=src.attrib["semester"], user_id=user_id, ) import_static_assets(course, static_dir) import_children(course, src, None, '') populate_xanalytics_fields.delay(course.id) # This triggers a bulk indexing of all LearningResource instances # for the course at once. index_resources( get_resources(repo_id).filter(course__id=course.id).values_list( "id", flat=True)) return course
def import_course(bundle, repo_id, user_id, static_dir): """ Import a course from an XBundle object. Args: bundle (xbundle.XBundle): Course as xbundle XML repo_id (int): Primary key of repository course belongs to user_id (int): Primary key of Django user doing the import static_dir (unicode): location of static files Returns: learningresources.models.Course """ src = bundle.course course = create_course( org=src.attrib["org"], repo_id=repo_id, course_number=src.attrib["course"], run=src.attrib["semester"], user_id=user_id, ) import_static_assets(course, static_dir) import_children(course, src, None, '') populate_xanalytics_fields.delay(course.id) return course
def import_course(bundle, repo_id, user_id, static_dir): """ Import a course from an XBundle object. Args: bundle (xbundle.XBundle): Course as xbundle XML repo_id (int): Primary key of repository course belongs to user_id (int): Primary key of Django user doing the import static_dir (unicode): location of static files Returns: learningresources.models.Course """ src = bundle.course course = create_course( org=src.attrib["org"], repo_id=repo_id, course_number=src.attrib["course"], run=src.attrib["semester"], user_id=user_id, ) import_static_assets(course, static_dir) import_children(course, src, None, '') populate_xanalytics_fields.delay(course.id) # This triggers a bulk indexing of all LearningResource instances # for the course at once. index_resources( get_resources(repo_id).filter( course__id=course.id).values_list("id", flat=True)) return course