def read_and_stock_dict_course_items_from_webroot_source(self, course_items_source_htmlwebroot_filename=None): ''' 1st read option: Course items are withdrawn from HTML Webroot file source ''' course_items_source_htmlwebroot_filename = self.return_course_items_source_htmlwebroot_filename_or_default_or_raise(course_items_source_htmlwebroot_filename) text = open(course_items_source_htmlwebroot_filename).read() re_find_obj = self.re_compiled_text_to_find.finditer(text) for each_re_found in re_find_obj: course_id = each_re_found.group(1) course_n_seq = each_re_found.group(2) try: # this below should not raise ValueError, if it does, continue without adding it to dict int(course_n_seq) except ValueError: continue if self.unique_course_id_dict.has_key(course_id): continue try: coursera_item_obj = CourseraCourse.objects.get(cid=course_id) #(course_id, course_n_seq) except CourseraCourse.DoesNotExist: coursera_item_obj = CourseraCourse() coursera_item_obj.cid = course_id coursera_item_obj.n_seq = course_n_seq coursera_item_obj.save() self.unique_course_id_dict[course_id] = coursera_item_obj
def get_course_or_create_it_or_None(self, cid, n_seq): if n_seq == 0: return None try: ccourse = CourseraCourse.objects.get(cid=cid) except CourseraCourse.DoesNotExist: ccourse = CourseraCourse() ccourse.cid = cid ccourse.n_seq = n_seq ccourse.save() return ccourse if ccourse.n_seq == -1: ccourse.n_seq = n_seq if ccourse.n_seq != n_seq: return None return ccourse
def save_courses_subset_to_db(self): for i, course_subset in enumerate(self.courses_subset): #if course_subset.university == None: #continue try: print str(i+1).zfill(3), 'Saving to db', course_subset except UnicodeEncodeError: print str(i+1).zfill(3), 'Saving to db' course = CourseraCourse() course.cid = course_subset.cid course.n_seq = course_subset.get_n_seq() course.title = course_subset.title if course_subset.start_date != None: course.start_date = course_subset.start_date if course_subset.duration_in_weeks != None: course.duration_in_weeks = course_subset.duration_in_weeks #course.save() if course_subset.university != None: university_name = course_subset.university try: institution = Institution.objects.get(name=university_name) except Institution.DoesNotExist: institution = Institution() institution.name = university_name #institution.courseracourse_id = course.cid institution.save() print 'institution id', institution.id #CourseraCourse.objects.create(name=university_name) except AttributeError, e: print 'university_name', university_name print e #sys.exit(0) pass #course.in #course.institutions.add(institution.id) course.save()