class Vehicle: # class constructor def __init__(self): self.file_handle = FileHandler('vehicle.csv') self.__data_list = self.file_handle.get_data() # method for updating vehicle attributes by id def update_vehicle_by_id(self, id, **kwargs): try: self.file_handle.load_from_csv('vehicle.csv') self.file_handle.remove_from_csv('vehicle.csv', id) answer = self.file_handle.append_to_csv('vehicle.csv', kwargs) if answer: return True else: return False except Exception as e: print(e) raise # method for calculating how many years until a vehicle must be tested again def get_time_to_test(self, id): self.file_handle.load_from_csv('vehicle.csv') time = datetime.datetime.now() current_year = time.strftime("%Y") try: for row in self.__data_list: id = str(id) if row['user_id'] == id: next_test = int(current_year) - int(row['Last_Test']) if next_test >= 2: return 'Vehicle with user id ' + id + ' must be tested right away!' elif next_test == 1 or next_test == 0: if next_test == 1: return 'Vehicle with user id ' + id + ' has 1 year until its next test.' elif next_test == 0: return 'Vehicle with user id ' + id + ' has 2 years until its next test.' elif next_test < 0: return False return False except Exception as e: print(e) raise
class User: # class properties __users = [] __authorize_user = [] # class constructor def __init__(self): self.file_handle = FileHandler('user.csv') self.__users = self.file_handle.get_data() # method to check user credentials def user_auth(self, name, password): name = name.split() try: for section in self.__users: if section['first'] == name[0] and section['last'] == name[ 1] and section['password'] == password: return section['role'] return False except Exception as e: print(e) raise # method to add user to user.csv def add_user(self, id, **kwargs): try: for row in self.__users: if row['user_id'] == str(id): return False answer = self.file_handle.append_to_csv('user.csv', kwargs) if answer: return True else: return False except Exception as e: print(e) raise