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
Exemple #2
0
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