# save all subjects with open('subjects.txt') as f: subjects_json = json.load(f) for subject in subjects_json: s = Subject() s.name = subjects_json[subject]['SubjectName'] s.abbreviation = subjects_json[subject]['SubjectAbbreviation'] s.save() # save all courses and courses with open('classes.txt') as f: classes_json = json.load(f) for c in classes_json: course = classes_json[c]['Course'] new_course = Course() new_course.subject = Subject.objects.filter( abbreviation=course['Subject']['SubjectAbbreviation'])[0] new_course.title = course['Title'] new_course.number = course['CourseNumber'] new_course.save() sections = classes_json[c]['Sections'] for s in sections: new_course_section = CourseSection() new_course_section.course = new_course new_course_section.section_type = sections[s]['Type'] new_course_section.crn = sections[s]['CRN'] new_course_section.meetings = sections[s]['Meetings'] new_course_section.save()
course_map = {} courses_request = requests.get('http://api.purdue.io/odata/Courses') courses_request_data = dict(courses_request.json()) for course in courses_request_data['value']: if subject_map.get(course['SubjectId']) is not None: course_map[course['CourseId']] = subject_map.get(course['SubjectId']) course_map[course['CourseId']]['Title'] = course['Title'] course_map[course['CourseId']]['Number'] = course['Number'] current_term_courses = {} current_term_classes = {} classes_request = requests.get('http://api.purdue.io/odata/Classes') classes_request_data = dict(classes_request.json()) for c in classes_request_data['value']: if c['TermId'] == CURRENT_TERM and c['CampusId'] == CAMPUS: current_term_classes[c['ClassId']] = course_map.get(c['CourseId']) current_term_classes[c['ClassId']]['CourseId'] = c['CourseId'] if current_term_courses.get(c['CourseId']) is None: current_term_courses[c['CourseId']] = course_map.get(c['CourseId']) f = open('courses.txt', 'w') f.write(str(current_term_courses)) for course in current_term_courses: c = Course() c.subject = Subject.objects.get( abbreviation=current_term_courses[course]['Abbreviation']) c.title = current_term_courses[course]['Title'] c.number = current_term_courses[course]['Number'] c.save()