Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import mysql.connector
- from mysql.connector import Warning, Error
- import logging
- class MysqlConnection(object):
- __connection = None
- __session = None
- def __init__(self, username, password, database, host='localhost', port='3306'):
- self.__host = host
- self.__username = username
- self.__password = password
- self.__port = port
- self.__database = database
- self._logger = logging.getLogger(__name__)
- self.__result = None
- self.__update_row = None
- self.__delete_row = None
- def __open(self):
- try:
- conn = mysql.connector.connect(host=self.__host, user=self.__username, password=self.__password,
- port=self.__port, database=self.__database)
- self.__connection = conn
- self.__session = self.__connection.cursor()
- return True
- except (Warning, Error) as e:
- self._logger.error('{} - Open Connection'.format(e))
- return False
- def __close(self):
- try:
- self.__session.close()
- self.__connection.close()
- except (Warning, Error) as e:
- self._logger.error('{} - Close Connection'.format(e))
- def select_fetch_all(self, sql_command):
- if self.__open():
- self.__session.execute(sql_command)
- self.__result = self.__session.fetchall()
- self.__close()
- return self.__result
- def select_fetch_one(self, sql_command):
- if self.__open():
- self.__session.execute(sql_command)
- self.__result = self.__session.fetchone()
- self.__close()
- return self.__result
- def insert(self, sql_command):
- if self.__open():
- self.__session.execute(sql_command)
- self.__connection.commit()
- self.__close()
- return self.__session.lastrowid
- def update(self, sql_command):
- if self.__open():
- self.__session.execute(sql_command)
- self.__connection.commit()
- self.__update_row = self.__session.rowcount
- self.__close()
- return self.__update_row
- def delete(self, sql_command):
- if self.__open():
- self.__session.execute(sql_command)
- self.__connection.commit()
- self.__delete_row = self.__session.rowcount
- self.__close()
- return self.__delete_row
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement