Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2016
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.31 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # coding=utf-8
  3. """This is a Mysql Python wrapper class, based on the publicly available fork from: git@github.com:nestordeharo/mysql-python-class.git"""
  4.  
  5. import MySQLdb
  6. from collections import OrderedDict
  7.  
  8. class MysqlPython(object):
  9.     """ Python Class for connecting to MySQL server """
  10.  
  11.     __instance   = None
  12.     __host       = None
  13.     __user       = None
  14.     __password   = None
  15.     __database   = None
  16.     __session    = None
  17.     __connection = None
  18.  
  19.     def __new__(cls, *args, **kwargs):
  20.         if not cls.__instance or not cls.__database:
  21.              cls.__instance = super(MysqlPython, cls).__new__(cls,*args,**kwargs)
  22.         return cls.__instance
  23.     ## End def __new__
  24.  
  25.     def __init__(self, host='localhost', user='root', password='', database=''):
  26.         self.__host     = host
  27.         self.__user     = user
  28.         self.__password = password
  29.         self.__database = database
  30.     ## End def __init__
  31.  
  32.     def __open(self):
  33.         try:
  34.             cnx = MySQLdb.connect(self.__host, self.__user, self.__password, self.__database)
  35.             self.__connection = cnx
  36.             self.__session    = cnx.cursor()
  37.         except MySQLdb.Error as e:
  38.             print "Error %d: %s" % (e.args[0],e.args[1])
  39.     ## End def __open
  40.  
  41.     def __close(self):
  42.         self.__session.close()
  43.         self.__connection.close()
  44.     ## End def __close
  45.  
  46.     def select_advanced(self, sql, *args):
  47.         od = OrderedDict(args)
  48.         query  = sql
  49.         values = tuple(od.values())
  50.         self.__open()
  51.         self.__session.execute(query, values)
  52.         number_rows = self.__session.rowcount
  53.         number_columns = len(self.__session.description)
  54.  
  55.         if number_rows >= 1 and number_columns > 1:
  56.             result = [item for item in self.__session.fetchall()]
  57.         else:
  58.             result = [item[0] for item in self.__session.fetchall()]
  59.  
  60.         self.__close()
  61.         return result
  62.     ## End def select_advanced
  63.  
  64.     def select_basic(self, table):
  65.         query = "SELECT session_id FROM %s" % table
  66.         self.__open()
  67.         self.__session.execute(query)
  68.         number_rows = self.__session.rowcount
  69.         number_columns = len(self.__session.description)
  70.  
  71.         if number_rows >= 1 and number_columns > 1:
  72.             result = [item for item in self.__session.fetchall()]
  73.         else:
  74.             result = [item[0] for item in self.__session.fetchall()]
  75.         return result
  76.  
  77.  
  78.     def show_tables(self):
  79.         query = "SHOW TABLES"
  80.         self.__open()
  81.         self.__session.execute(query)
  82.         number_rows = self.__session.rowcount
  83.         number_columns = len(self.__session.description)
  84.  
  85.         if number_rows >= 1 and number_columns > 1:
  86.             result = [item for item in self.__session.fetchall()]
  87.         else:
  88.             result = [item[0] for item in self.__session.fetchall()]
  89.         return result
  90. ## End class
  91.  
  92.     def select_table(self, app_name, table):
  93.         if app_name == 'jenkins v1':
  94.             query = "SELECT date_created FROM %s where id != 4 and id != 5" % table
  95.  
  96.         if app_name == 'fireplace v1':
  97.             query = "SELECT date_created FROM %s where id != 4 and id != 5" % table
  98.  
  99.         if app_name == 'addons v1':
  100.             query = "SELECT date_created FROM %s where id != 4 and id != 5" % table
  101.  
  102.         self.__open()
  103.         self.__session.execute(query)
  104.         number_rows = self.__session.rowcount
  105.         number_columns = len(self.__session.description)
  106.  
  107.         if number_rows >= 1 and number_columns > 1:
  108.             result = [item for item in self.__session.fetchall()]
  109.         else:
  110.             result = [item[0] for item in self.__session.fetchall()]
  111.         return result
  112.  
  113.     def select_moodle(self, table):
  114.             query = "SELECT date_created FROM %s where id != 4 and id != 5" % table
  115.             self.__open()
  116.             self.__session.execute(query)
  117.             number_rows = self.__session.rowcount
  118.             number_columns = len(self.__session.description)
  119.  
  120.             if number_rows >= 1 and number_columns > 1:
  121.                 result = [item for item in self.__session.fetchall()]
  122.             else:
  123.                 result = [item[0] for item in self.__session.fetchall()]
  124.             return result
  125.     def select_jenkins_mv1(self, table):
  126.         query = "SELECT session_id FROM %s where id != 12 and id != 18 and id != 19 and id != 20" % table
  127.         self.__open()
  128.         self.__session.execute(query)
  129.         number_rows = self.__session.rowcount
  130.         number_columns = len(self.__session.description)
  131.  
  132.         if number_rows >= 1 and number_columns > 1:
  133.             result = [item for item in self.__session.fetchall()]
  134.         else:
  135.             result = [item[0] for item in self.__session.fetchall()]
  136.         return result
  137.  
  138.     def select_jenkins_mv3(self, table):
  139.         query = "SELECT session_id FROM %s where id != 16 and id != 17" % table
  140.         self.__open()
  141.         self.__session.execute(query)
  142.         number_rows = self.__session.rowcount
  143.         number_columns = len(self.__session.description)
  144.  
  145.         if number_rows >= 1 and number_columns > 1:
  146.             result = [item for item in self.__session.fetchall()]
  147.         else:
  148.             result = [item[0] for item in self.__session.fetchall()]
  149.         return result
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement