def get_sells_model_from_db(): database = Database() get_data = database.fetch_all_data(GET_SELLS_MODEL_QUERY)[0] database.close_connection() unpickled_model = ModelStorage.__get_unpickled(get_data[1]) unpickled_scalers_tuple = ModelStorage.__get_tuple_unpickled( (get_data[2], get_data[3])) return unpickled_model, unpickled_scalers_tuple, get_data[4]
def store_main_model_in_db(model, scaler_X, scaler_y): database = Database() database.create_table(CREATE_MODEL_QUERY) database.drop_table(DELETE_ALL_MODELS_QUERY) pickled_tuple = ModelStorage.__get_tuple_pickled( (model, scaler_X, scaler_y)) database.insert_data(INSERT_MODEL_QUERY, pickled_tuple) database.close_connection()
def _fetch_all_data(self, query: str, named_values: List[str]): try: database = Database() data = database.fetch_all_data(query) self.__handle_data(data, named_values) except: self._response = self._build_response(data=jsonify( {"message": "Internal server error"}), status_code=500) finally: database.close_connection()
def _drop_table(self, query: str): try: database = Database() database.drop_table(query) self._response = self._build_response(data=jsonify( {"message": "Successful DELETE request"}), status_code=200) except: self._response = self._build_response(data=jsonify( {"message": "Internal server error"}), status_code=500) finally: database.close_connection()
def _insert(self, query: str, data: List[str]): tuple_data = tuple(data) try: database = Database() _id = database.insert_data(query, tuple_data) self._response = self._build_response(data=jsonify({ "message": "Successful POST request", "_id": _id }), status_code=201) except psycopg2.errors.UniqueViolation: self._response = self._build_response(data=jsonify( {"message": "Item already exists"}), status_code=400) except: self._response = self._build_response(data=jsonify( {"message": "Internal server error"}), status_code=500) finally: database.close_connection()
def _update_item(self, query: str, _id: str, data: List[str] or str or None): if isinstance(data, list): tuple_data = tuple(data) else: tuple_data = data try: database = Database() print(tuple_data) _id = database.update_item(query, tuple_data, _id) self._response = self._build_response(data=jsonify({ "message": "Successful PUT request", "_id": _id }), status_code=200) except: self._response = self._build_response(data=jsonify( {"message": "Internal server error"}), status_code=500) finally: database.close_connection()
def _create_table(query: str): database = Database() database.create_table(query) database.close_connection()
def count_advise_items(): database = Database() database.create_table(CREATE_ADVICE_TABLE_QUERY) counter = database.fetch_all_data(GET_ITEMS_COUNTER_QUERY)[0][0] database.close_connection() return counter
def count_sell_items(): database = Database() database.create_table(CREATE_SELL_DATA_QUERY) counter = database.fetch_all_data(GET_SELLS_COUNT_QUERY)[0][0] database.close_connection() return counter