class Main: def __init__(self, file_name): self.reader = Reader(file_name) self.courses = self.reader.get_courses() self.grades = get_all_grades_info(self.courses) self.generator = Generator(self.grades) def start(self): self.generator.start()
return True def unset_course(self, course_id, start_time): if start_time == None: return posi = start_time[0] posj = start_time[1] for i in range(0, self.id_to_course(course_id).credit): self.coursetable[posi+i][posj] = -1 def pretty_course_table(self): s = "" for i in range(self.time_num): s += TIME[i] + " " for j in range(5): o = self.coursetable[i][j] if o != -1: s += (self.id_to_course(o).name+" "*20)[:20] else: s += "_"*20 s += " " s += "\n" return s if __name__ == '__main__': from reader import Reader reader = Reader("test.csv") coursetable = CourseTable(reader.get_courses()) print coursetable.mutual_time print coursetable.pretty_course_table()
# sort the course: conditonal courses should be put at the head cs = sort_courses(cs) result.append(Grade(grade_name, cs)) return result def get_not_pre_alloc_courses(courses): result = [] for c in courses: if c.start_time == None: result.append(c) return result def debug_print(s): DEBUG = True if DEBUG: print "debug: ", print s if __name__=='__main__': from reader import Reader reader = Reader('test.csv') assert to_standard_time("9:01") == "09:01" assert to_standard_time("19:00") == "19:00" assert to_standard_time("0:4") == "00:04" assert time_to_pos("8:00 mon") == [0,0] assert time_to_pos("12:10 tue") == [4, 1] assert time_to_pos("13:20 WED") == [6, 2] assert get_grades_name(reader.get_courses()) == ['Y1-1', 'Y1-2', 'Y2-1', 'Y2-2'] print get_all_grades_info(reader.get_courses())