def __init__(self, school_db): init_db = SchoolInitializer() self.students = init_db.students self.courses = init_db.courses self.professors = init_db.professors self.enrollments = init_db.enrollments self.school_db = SchoolDB(self)
def __init__(self, *args, **kwargs): Tk.__init__(self, *args, **kwargs) self.school_db = SchoolDB(SchoolInitializer()) Tk.wm_title(self, 'Contoso University') self.menubar = MainMenu(self) self.config(menu=self.menubar) self.frames = {} self.__init_frames()
class Gradebook: def __init__(self, school_db): init_db = SchoolInitializer() self.students = init_db.students self.courses = init_db.courses self.professors = init_db.professors self.enrollments = init_db.enrollments self.school_db = SchoolDB(self) def main(self): GRADE_UPDATE = 1 PRINT_GPA = 2 PRINT_ALL = 3 SAVE_DATA = 4 QUIT_MENU = 5 choice = 0 print("=" * 47) print("=" * 10, "Welcome to GPA CALC v0.13", "=" * 10) print('\t' * 2, "ACEDEMIC MAIN MENU", '\t' * 2) while choice != QUIT_MENU: self.menu_selections() choice = int(input("please select an action: ")) if choice == GRADE_UPDATE: enroll_key = int(input("Enter enroll ID: ")) if enroll_key in self.enrollments: enroll = self.enrollments.get(enroll_key) grade = input("Enter grade: ") enroll.grade = grade else: print("Enroll ID not found: ") keep_going = input("continue? y/n: ") elif choice == PRINT_GPA: student_id = int(input("enter student ID: ")) if student_id in self.students: student = self.students.get(student_id) transcript = Transcript(self.enrollments) transcript.print_transcript(student) else: print("Student ID not found") elif choice == PRINT_ALL: for enrollment in self.enrollments.values(): enrollment.print_record() elif choice == SAVE_DATA: self.school_db.save_data() def menu_selections(self): print("1: update a student's grades",'\n'\ "2: print a student's transcript", '\n'\ "3: print full enrollment list", '\n'\ "4: Save enrollments to database", '\n'\ "5: Quit")
class ContosoApp(Tk): """This is the main application window""" def __init__(self, *args, **kwargs): Tk.__init__(self, *args, **kwargs) self.school_db = SchoolDB(SchoolInitializer()) Tk.wm_title(self, 'Contoso University') self.menubar = MainMenu(self) self.config(menu=self.menubar) self.frames = {} self.__init_frames() def __init_frames(self): container = Frame(self) container.pack(side="top", fill="both", expand=True) container.grid_rowconfigure(0, weight=1) container.grid_columnconfigure(0, weight=1) for frame in (AboutFrame, CourseFrame, EnrollmentFrame, StudentFrame): if frame.__name__ == "AboutFrame": current_frame = frame(container) else: current_frame = frame(container, self.school_db) self.frames[frame.__name__] = current_frame current_frame.grid(row=0, column=0, sticky="nsew") def show_frame(self, frame_name): frame = self.frames[frame_name] Tk.wm_title(self, 'Contoso University - ' + frame_name.replace('Frame', '')) frame.tkraise() def save_data(self): self.school_db.save_data()
transcript = Transcript(self.enrollments) student = self.students.get(student_id) transcript.print_transcript(student) elif choice == '3': for enrollment in self.enrollments.values(): enrollment.print_record() elif choice == '4': self.school_db.save_data() print() def __display_menu(self): print("Academic Main Menu") print() print("1) Update Grade") print("2) Print Student GPA") print("3) Print All Enrollments") print("4) Save Data") print() return input("Enter 1, 2, 3, or e to exit") db = SchoolDB(SchoolInitializer()) gradebook = Gradebook(db) gradebook.main()