diff --git a/main.py b/main.py index 9ff0195..6f2205f 100644 --- a/main.py +++ b/main.py @@ -6,14 +6,7 @@ import exceptions import os subjects = [] -filepath = "/data/user.grades" try: - password = user_IO.password() - if os.path.isfile(filepath): - with open(filepath, 'r') as file: - string = encryption.decrypt(password, file.read()) - serializer.deserialize(string) - while True: try: user_input = user_IO.user_input() @@ -43,7 +36,9 @@ try: elif input_or_output == "output": _subject = user_input[1] subject_get = subject.get_subject(subjects, _subject) - user_IO.user_output(subject_get.return_average_subject) + user_IO.user_output(subject_get.name, subject_get.return_grade_categories(), + [subject_get.return_average_of_category(i) for i in subject_get.return_grade_categories()], + subject_get.return_average_of_subject()) elif input_or_output == "exit": break else: @@ -53,10 +48,8 @@ try: exceptions.SubjectNotExistingException, exceptions.WrongCaseException) as e: user_IO.exception_raised(e) - with open(filepath, 'w') as file: - _list = [serializer.serialize(_subject) for _subject in subjects] - string = encryption.encrypt(password, str(_list)) - file.write(string) + except Exception as e: print('ERROR' + str(e)) + raise diff --git a/subject.py b/subject.py index 98eafea..7d6f9c7 100644 --- a/subject.py +++ b/subject.py @@ -19,17 +19,18 @@ class Subject: return self.grades[category][0] def return_grade_categories(self): # Return all categories - return [i for i in self.grades] + return self.grades def return_average_of_category(self, category): # Return average of one categorie - return sum(self.grades[category][0]) / len(self.grades[category][0]) + _list = [int(i.grade) for i in self.grades[category][0]] + return sum(_list) / len(self.grades[category][0]) def return_average_of_subject(self): rating_sum = 0 grade_sum = 0 for i in self.grades: rating_sum += self.grades[i][1] - grade_sum += self.return_average_of_category(i) + grade_sum += self.return_average_of_category(i)*self.grades[i][1] return grade_sum / rating_sum def category_existing(self, category): diff --git a/user_IO.py b/user_IO.py index 5650a1b..a5d4902 100644 --- a/user_IO.py +++ b/user_IO.py @@ -49,17 +49,12 @@ def user_output(subject, categories, average, average_subject): for counter, category in enumerate(categories): print("The average in {} is {} with these grades:".format(category, average[counter])) string = "" - for grade in categories[category]: - string += str(grade) + ", " + for grade in categories[category][0]: + string += str(grade.grade) + ", " print(string + "\n") print("The average of {} is {}.".format(subject, average_subject)) -def password(): - print("What is your password?") - return input() - - def exception_raised(exception): print("Dear user you've raised an exception. The cause of the exception is:") if exception is exceptions.SubjectNotExistingException: