Esempio n. 1
0
def course_by_code(request, course_code_in):

    form = CourseForm({"course": course_code_in})

    if form.is_valid():

        course_code = form.cleaned_data["course"].upper()

        CourseCodes.objects.get_or_create(code=course_code)  # Save course code for later

        try:
            courses = Course.objects.filter(course_code=course_code)
            return HttpResponse(
                JSONRenderer().render(CourseSerializer(courses[0]).data), content_type="application/json"
            )
        except IndexError as e:
            pass

        courses_list_id, course_id_status = get_course_id(course_code)

        if course_id_status:  # If timeedit gives us some objects

            courses = [Course.objects.update_or_create(**get_course_info(course_id)) for course_id in courses_list_id]
            return HttpResponse(
                JSONRenderer().render(CourseSerializer(courses[0][0]).data), content_type="application/json"
            )

        else:
            return exceptions.can_find_course(course_code_in)

    else:
        return exceptions.invalid_search_format()
Esempio n. 2
0
def events_by_code(request, course_code_in):

    form = CourseForm({"course": course_code_in})

    if form.is_valid():

        course_code = form.cleaned_data["course"].upper()

        try:
            courses = Course.objects.filter(course_code=course_code)
            # return HttpResponse(JSONRenderer().render(EventSerializer(max([events for events in getCourseEvents(courses)])).data), content_type='application/json')

            course_events_list = []

            for i in courses:
                course_events_list.append(
                    get_course_events(i.semester, i.year, i.course_reg, course_code, i.name_en, i.name_sv)
                )
            return HttpResponse(json.dumps(max(course_events_list)), content_type="application/json")

        except IndexError as e:
            pass

    return exceptions.can_find_course()