class Connection: def __init__(self, request_line=None): self.request_line = request_line self.db_connection = DBConnection(namespace.DATABASE_HOST, namespace.DATABASE_NAME, namespace.DATABASE_USER, namespace.DATABASE_PASS) @func_time(logger) def send_request(self, trace=False): rl = self.request_line if isinstance(rl, tuple): rl = rl[0] if bool(rl) is False: return False, 'SQL query not found in query manager.' status = self.db_connection.connection_status if not status: for try_ in range(namespace.TRY_CONNECTION_NUMBER): logger.debug( 'Attempt to connect to the database #{}'.format(try_)) status = self.db_connection.make_connection() if status: break time.sleep(namespace.TRY_TIMEOUT) if status: self.db_connection.db_query = self.request_line return self.db_connection.send_request(trace) else: return False, 'Database connection error.' def drop_connection(self): if self.db_connection: self.db_connection.disconnect() logger.debug('Connection closed.')