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()
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()