Beispiel #1
0
def upsert_course(course_id):
    """Upsert course based on stored database information"""
    course_obj = Course.objects.get(id=course_id)
    course_data = ESCourseSerializer(course_obj).data
    api.upsert_document(
        gen_course_id(course_obj.platform, course_obj.course_id),
        course_data,
        COURSE_TYPE,
        retry_on_conflict=settings.INDEXING_ERROR_RETRIES,
    )
Beispiel #2
0
def upsert_user_list(user_list_id):
    """Upsert user list based on stored database information"""
    from search.api import gen_user_list_id

    user_list_obj = UserList.objects.get(id=user_list_id)
    user_list_data = ESUserListSerializer(user_list_obj).data
    api.upsert_document(
        gen_user_list_id(user_list_obj),
        user_list_data,
        USER_LIST_TYPE,
        retry_on_conflict=settings.INDEXING_ERROR_RETRIES,
    )
Beispiel #3
0
def upsert_video(video_id):
    """Upsert video based on stored database information"""
    from search.api import gen_video_id

    video_obj = Video.objects.get(id=video_id)
    video_data = ESVideoSerializer(video_obj).data
    api.upsert_document(
        gen_video_id(video_obj),
        video_data,
        VIDEO_TYPE,
        retry_on_conflict=settings.INDEXING_ERROR_RETRIES,
    )
Beispiel #4
0
def upsert_program(program_id):
    """Upsert program based on stored database information"""
    from search.api import gen_program_id

    program_obj = Program.objects.get(id=program_id)
    program_data = ESProgramSerializer(program_obj).data
    api.upsert_document(
        gen_program_id(program_obj),
        program_data,
        PROGRAM_TYPE,
        retry_on_conflict=settings.INDEXING_ERROR_RETRIES,
    )
Beispiel #5
0
def upsert_bootcamp(bootcamp_id):
    """Upsert bootcamp based on stored database information"""
    from search.api import gen_bootcamp_id

    bootcamp_obj = Bootcamp.objects.get(id=bootcamp_id)
    bootcamp_data = ESBootcampSerializer(bootcamp_obj).data
    api.upsert_document(
        gen_bootcamp_id(bootcamp_obj.course_id),
        bootcamp_data,
        BOOTCAMP_TYPE,
        retry_on_conflict=settings.INDEXING_ERROR_RETRIES,
    )
Beispiel #6
0
def upsert_profile(profile_id):
    """Task that indexes a profile based on its primary key"""
    from search.api import gen_profile_id

    profile = Profile.objects.get(id=profile_id)

    if profile.user.username != settings.INDEXING_API_USERNAME:
        data = ESProfileSerializer().serialize(profile)
        api.upsert_document(
            gen_profile_id(profile.user.username),
            data,
            PROFILE_TYPE,
            retry_on_conflict=settings.INDEXING_ERROR_RETRIES,
        )
Beispiel #7
0
def upsert_content_file(file_id):
    """Upsert content file based on stored database information"""

    content_file_obj = ContentFile.objects.get(id=file_id)
    content_file_data = ESContentFileSerializer(content_file_obj).data
    api.upsert_document(
        gen_content_file_id(content_file_obj.key),
        content_file_data,
        COURSE_TYPE,
        retry_on_conflict=settings.INDEXING_ERROR_RETRIES,
        routing=gen_course_id(
            content_file_obj.run.content_object.platform,
            content_file_obj.run.content_object.course_id,
        ),
    )