Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # coding=utf-8
- """This is a Mysql Python wrapper class, based on the publicly available fork from: git@github.com:nestordeharo/mysql-python-class.git"""
- import MySQLdb
- from collections import OrderedDict
- class MysqlPython(object):
- """ Python Class for connecting to MySQL server """
- __instance = None
- __host = None
- __user = None
- __password = None
- __database = None
- __session = None
- __connection = None
- def __new__(cls, *args, **kwargs):
- if not cls.__instance or not cls.__database:
- cls.__instance = super(MysqlPython, cls).__new__(cls,*args,**kwargs)
- return cls.__instance
- ## End def __new__
- def __init__(self, host='localhost', user='root', password='', database=''):
- self.__host = host
- self.__user = user
- self.__password = password
- self.__database = database
- ## End def __init__
- def __open(self):
- try:
- cnx = MySQLdb.connect(self.__host, self.__user, self.__password, self.__database)
- self.__connection = cnx
- self.__session = cnx.cursor()
- except MySQLdb.Error as e:
- print "Error %d: %s" % (e.args[0],e.args[1])
- ## End def __open
- def __close(self):
- self.__session.close()
- self.__connection.close()
- ## End def __close
- def select_advanced(self, sql, *args):
- od = OrderedDict(args)
- query = sql
- values = tuple(od.values())
- self.__open()
- self.__session.execute(query, values)
- number_rows = self.__session.rowcount
- number_columns = len(self.__session.description)
- if number_rows >= 1 and number_columns > 1:
- result = [item for item in self.__session.fetchall()]
- else:
- result = [item[0] for item in self.__session.fetchall()]
- self.__close()
- return result
- ## End def select_advanced
- def select_basic(self, table):
- query = "SELECT session_id FROM %s" % table
- self.__open()
- self.__session.execute(query)
- number_rows = self.__session.rowcount
- number_columns = len(self.__session.description)
- if number_rows >= 1 and number_columns > 1:
- result = [item for item in self.__session.fetchall()]
- else:
- result = [item[0] for item in self.__session.fetchall()]
- return result
- def show_tables(self):
- query = "SHOW TABLES"
- self.__open()
- self.__session.execute(query)
- number_rows = self.__session.rowcount
- number_columns = len(self.__session.description)
- if number_rows >= 1 and number_columns > 1:
- result = [item for item in self.__session.fetchall()]
- else:
- result = [item[0] for item in self.__session.fetchall()]
- return result
- ## End class
- def select_table(self, app_name, table):
- if app_name == 'jenkins v1':
- query = "SELECT date_created FROM %s where id != 4 and id != 5" % table
- if app_name == 'fireplace v1':
- query = "SELECT date_created FROM %s where id != 4 and id != 5" % table
- if app_name == 'addons v1':
- query = "SELECT date_created FROM %s where id != 4 and id != 5" % table
- self.__open()
- self.__session.execute(query)
- number_rows = self.__session.rowcount
- number_columns = len(self.__session.description)
- if number_rows >= 1 and number_columns > 1:
- result = [item for item in self.__session.fetchall()]
- else:
- result = [item[0] for item in self.__session.fetchall()]
- return result
- def select_moodle(self, table):
- query = "SELECT date_created FROM %s where id != 4 and id != 5" % table
- self.__open()
- self.__session.execute(query)
- number_rows = self.__session.rowcount
- number_columns = len(self.__session.description)
- if number_rows >= 1 and number_columns > 1:
- result = [item for item in self.__session.fetchall()]
- else:
- result = [item[0] for item in self.__session.fetchall()]
- return result
- def select_jenkins_mv1(self, table):
- query = "SELECT session_id FROM %s where id != 12 and id != 18 and id != 19 and id != 20" % table
- self.__open()
- self.__session.execute(query)
- number_rows = self.__session.rowcount
- number_columns = len(self.__session.description)
- if number_rows >= 1 and number_columns > 1:
- result = [item for item in self.__session.fetchall()]
- else:
- result = [item[0] for item in self.__session.fetchall()]
- return result
- def select_jenkins_mv3(self, table):
- query = "SELECT session_id FROM %s where id != 16 and id != 17" % table
- self.__open()
- self.__session.execute(query)
- number_rows = self.__session.rowcount
- number_columns = len(self.__session.description)
- if number_rows >= 1 and number_columns > 1:
- result = [item for item in self.__session.fetchall()]
- else:
- result = [item[0] for item in self.__session.fetchall()]
- return result
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement