def _get_money(self, payment, description=""): new_balance = self.balance + payment DB.query( self.UPDATE_BALANCE_QUERY.format(balance=new_balance, airline_id=self.airline_id)) DB.query( self.ADD_TRANSACTION.format(value=payment, description=description, date_time=time.time(), airline_id=self.airline_id))
def _pay_money(self, payment, description=""): new_balance = self.balance - payment DB.query( self.UPDATE_BALANCE_QUERY.format(balance=new_balance, airline_id=self.airline_id)) DB.query( self.ADD_TRANSACTION.format(value=-payment, description=description, date_time=time.time(), airline_id=self.airline_id)) settings.logger.info("{}: ${}".format(description, payment))
def price_market_plane(cls, plane_id): settings.logger.info("INQUIRE market price of the plane #{}".format(plane_id)) return DB.query(cls.MARKET_PLANE_PRICE_QUERY.format(plane_id=plane_id))[0][0]
def flight(cls, plane_id, date_time, passengers, cargo): DB.query(cls.ADD_FLIGHT_QUERY.format(plane_id=plane_id, date_time=date_time, passengers=passengers, cargo=cargo)) settings.logger.info("FLIGHT by plane #{}: passengers: {}, cargo: {} tons".format(plane_id, passengers, cargo))
def delete_tables(): queries = ("DELETE FROM {}".format(key) for key in TABLES) DB.queries(queries) settings.logger.info("CLEAR ALL TABLES")
def transactions(self): settings.logger.info("SHOW TRANSACTIONS") return DB.query_mod( self.TRANSACTIONS_QUERY.format(airline_id=self.airline_id))
def planes_stat(cls, airline_id): settings.logger.info("SHOW STATISTICS BY PLANE TYPES") return DB.query_mod(cls.OWN_PLANES_STAT_QUERY.format(airline_id=airline_id))
def cargo_planes(cls, airline_id): settings.logger.info("SHOW COMPANY'S CARGO PLANES") return DB.query_mod(cls.OWN_PLANES_TYPE_QUERY.format(airline_id=airline_id, pt_name="cargo"))
def planes(cls, airline_id): settings.logger.info("SHOW COMPANY'S PLANES") return DB.query_mod(cls.OWN_PLANES_QUERY.format(airline_id=airline_id))
def balance(self): settings.logger.info("SHOW COMPANY'S BALANCE") return DB.query(self.BALANCE_QUERY.format(id=self.airline_id))[0][0]
def push_notification(self, notification): DB.query( self.ADD_NOTIFICATION.format(airline_id=self.airline_id, date_time=time.time(), text=notification)) settings.logger.info("PUSH NOTIFICATION: <{}>".format(notification))
def __init__(self): self.airline_id = settings.AIR_LINES self.name = DB.query( self.GET_DISPATCHER_QUERY.format(id=settings.AIR_LINES))[0][0]
def _add_plane(self, plane_id): DB.query( self.ADD_PLANE_QUERY.format(airline_id=self.airline_id, plane_id=plane_id))
def _del_plane(self, plane_id): DB.query(self.DELETE_PLANE_QUERY.format(id=plane_id))
def notifications(self): settings.logger.info("SHOW notifications") return DB.query_mod( self.NOTIFICATIONS_QUERY.format(airline_id=self.airline_id))
def price_own_plane(cls, plane_id): settings.logger.info("Get price of own plane #{}".format(plane_id)) return DB.query(cls.OWN_PLANE_PRICE_QUERY.format(id=plane_id))[0][0]
def flights(cls, airline_id): settings.logger.info("SHOW FLIGHTS") return DB.query_mod(cls.FLIGHTS_QUERY.format(airline_id=airline_id))
def __init__(self): self.name = DB.query( self.GET_MANAGER_QUERY.format(id=settings.AIR_LINES))[0][0]
def passenger_planes(cls, airline_id): settings.logger.info("SHOW COMPANY'S PASSENGER PLANES") return DB.query_mod(cls.OWN_PLANES_TYPE_QUERY.format(airline_id=airline_id, pt_name="passenger"))
def build_tables(tables): """build database function""" queries = tables.values() DB.queries(queries=queries) settings.logger.info("BUILT {} TABLES".format(len(tables)))
def market_planes(cls): settings.logger.info("SHOW PLANES IN MARKET") return DB.query_mod(cls.MARKET_PLANES_QUERY)
def fill_tables(fillings): """FILL database tables""" queries = _gen_fill_queries(fillings) DB.queries(queries=queries) settings.logger.info("FILLED tables")
def market_available_planes(cls, airline_id): settings.logger.info("SHOW AVAILABLE (FOR COST) PLANES") return DB.query_mod(cls.MARKET_AVAILABLE_PLANES_QUERY.format(airline_id=airline_id))
def airline_stat(self): settings.logger.info("SHOW COMPANY'S STATISTICS") return DB.query_mod( self.AIRLINE_STAT_QUERY.format(airline_id=self.airline_id))