def __store_to_file(self):
     file = open(self.__file_name, "w")
     grades = Grade_repository.get_all(self)
     for grade in grades:
         store_to_file = str(grade.assignment_ID) + ";" + str(
             grade.student_ID) + ";" + str(grade.numeric_value) + "\n"
         file.write(store_to_file)
     file.close()
 def __load_from_file(self):
     try:
         file = open(self.__file_name, "r")
         line = file.readline().strip()
         while line != "":
             attributes = line.split(";")
             if attributes[2] != "None":
                 grade = Grade(int(attributes[0]), int(attributes[1]),
                               int(attributes[2]))
             else:
                 grade = Grade(int(attributes[0]), int(attributes[1]))
             Grade_repository.add(self, grade)
             line = file.readline().strip()
     except IOError as ioerror:
         raise RepositoryError(str(ioerror))
     finally:
         file.close()
 def __init__(self, file_name="grades.txt"):
     Grade_repository.__init__(self)
     self.__file_name = file_name
     self.__load_from_file()
 def update(self, student_ID, assignment_ID, numeric_value_grade):
     Grade_repository.update(self, student_ID, assignment_ID,
                             numeric_value_grade)
     self.__store_to_file()
 def remove(self, student_ID, assignment_ID):
     Grade_repository.remove(self, student_ID, assignment_ID)
     self.__store_to_file()
 def add(self, grade):
     Grade_repository.add(self, grade)
     self.__store_to_file()