def __loadFromFile(self): try: f = open(self.__fileName, "r") line = f.readline().strip() while line != "": attrs = line.split(",") grade = Grade(int(attrs[0]), int(attrs[1]), int(attrs[2])) GradeRepository.add(self, grade) line = f.readline().strip() except IOError: raise FileRepositoryException() finally: f.close()
def __storeToFile(self): f = open(self.__fileName, "w") sts = GradeRepository.getAllGrades(self) for st in sts: strf = str(stdisciplineID) + "," + str(st.studentID) + "," + str( st.gradeValue) strf = strf + "\n" f.write(strf) f.close()
while True: print("\nChoose what kind of repository you want to use \n") print("1 - inmemory repository") print("2 - text file repository") print("3 - binary file repository") print("0 - to exit") repository_mode = int(input("\nYour choice for repository is: ")) if repository_mode == 1: studentValidator = StudentValidator() disciplineValidator = DisciplineValidator() gradeValidator = GradeValidator() studentRepo = StudentRepository() disciplineRepo = DisciplineRepository() gradeRepo = GradeRepository() studentController = StudentController(studentRepo) disciplineController = DisciplineController(disciplineRepo) gradeController = GradeController(gradeRepo, disciplineRepo, studentRepo) ui = ConsoleUI(studentController, disciplineController, gradeController) opt = ui.runApp() if opt == 0: break elif repository_mode == 2: studentValidator = StudentValidator() disciplineValidator = DisciplineValidator()
def __init__(self, fileName): GradeRepository.__init__(self) self.__fileName = fileName self.__loadFromFile()
def update(self, gradeID, newName): GradeRepository.update(self, gradeID, newName) self.__storeToFile()
def remove(self, gradeID): GradeRepository.remove(self, gradeID) self.__storeToFile()
def add(self, grade): GradeRepository.add(self, grade) self.__storeToFile()