def remove_from_database(item, list): """ Function used to remove items from database, as input takes item and list it's in returns a list """ list.remove(item) write_to_database(list) return list
def add_to_database(item, list): """ Function used to add items to database, as input takes item and list it's in returns a list """ list.append(item) write_to_database(list) return list
def _setup_car_list(self, cars, info): """ setups car list depending on purpose it's used for """ if info != 'search': cars = self.check_reservations() if self.cars: self.cars_dict = write_to_database(self.cars) self.default_text() self.action = info self.ui.pages.setCurrentIndex(1) self.ui.carList.clear() if self.action == "overdue": cars = overdue_cars(self.cars) if self.action == "reserved": cars = reserved_cars(self.cars) if self.action == 'availableRent': cars = not_reserved_cars(self.cars) if cars: for car in cars: item = QListWidgetItem(str(car)) item.car = car item.car_index = self.cars.index(car) item.car_dict = self.cars_dict[item.car_index] self.ui.carList.addItem(item) self.ui.carList.itemClicked.connect(self._setup_car_info) if self.action == "modify": self.ui.volumeDatabase.setEnabled(False) self.ui.trailerDatabase.setEnabled(False) self.ui.loadDatabase.setEnabled(False) self.ui.carInfo_background.setCurrentIndex(2) self.ui.removeDatabase.setEnabled(False) self.ui.editDatabase.setEnabled(False) else: self.ui.carInfo_background.setCurrentIndex(1)
def remove_from_database(self, item): """ graphical representation of removing from database, supported by functions from database.py and car_rental_io """ if item: car = item.car self.cars = remove_from_database(car, self.cars) if self.cars: self.cars_dict = write_to_database(self.cars) self._setup_car_list(self.cars, "modify") self.clicked = None
def check_reservations(self): """ reloads items in the list to check if some of them expired, removes expired reservations """ cars = [] for car in self.cars: if car.reservation: if car.reservation.check_expiration() == "EXPIRED": car.reservation = None cars.append(car) self.cars_dict = write_to_database(cars) self.cars = read_from_database() return self.cars
def _reserve_rent(self, item, name): """ used to set reservation or rent depending on input """ beginning_date = self.ui.date_begin.text() end_date = self.ui.date_end.text() person_info = self.ui.name_details.text() if name == 'rent': try: rent = Rent(beginning_date, end_date, person_info) except InvalidDateRange: dialog = Dialog('daterange', self) dialog.exec_() except InvalidDate: dialog = Dialog('date', self) dialog.exec_() if beginning_date == '' and end_date == '': self.cars[item.car_index].rent = None else: self.cars[item.car_index].rent = rent if name == 'reservation': info = '' try: reservation = Reservation(beginning_date, end_date, person_info) info = self.cars[item.car_index].add_reservation(reservation) except InvalidDateRange: dialog = Dialog('daterange', self) dialog.exec_() except InvalidDate: dialog = Dialog('date', self) dialog.exec_() if info == "Cannot reserve today": self.ui.reserve_button.setText("Cannot reserve today") dialog = Dialog('reserve', self) dialog.exec_() self.ui.reserve_button.setEnabled(False) return self.cars_dict = write_to_database(self.cars) item.car_dict = self.cars_dict[item.car_index] item.car = self.cars[item.car_index] self._setup_car_info(item) if self.action == 'overdue': self._setup_car_list(self.cars, self.action) self.ui.date_begin.setEnabled(False) self.ui.date_end.setEnabled(False) self.ui.name_details.setEnabled(False) self.ui.reserve_button.setEnabled(False) self.ui.rent_button.setEnabled(False)
def _remove_reservation_rent(self, item, name): """ used to remove reservation or rent depending on input """ if name == 'reservation': self.cars[item.car_index].reservation = None else: self.cars[item.car_index].rent = None self.cars_dict = write_to_database(self.cars) item.car_dict = self.cars_dict[item.car_index] item.car = self.cars[item.car_index] self._setup_car_info(item) if name == 'reservation': self.ui.RemoveReservation.setEnabled(False) else: self.ui.RemoveRent.setEnabled(False) if self.action == 'overdue': self._setup_car_list(self.cars, self.action)
def csv_to_database(p): """ Load csv with labels to database """ write_to_database(p) message("Pushed CSV to database", p)