Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- __author__="mark"
- __date__ ="$Jan 12, 2012 5:02:38 PM$"
- import MySQLdb as mysql
- from MySQLdb import connections
- from MySQLdb import cursors
- class DBHandler(mysql.connections.Connection):
- def __init__(self,dhost=db_host,duser=db_user,dpass=db_pass,dbname=db,cursor='DictCursor'):
- super(DBHandler,self).__init__(
- host = dhost,
- user = duser,
- passwd = dpass,
- db = dbname,
- cursorclass=getattr(mysql.cursors, cursor)
- )
- def getall(self,q,params=None):
- try:
- cur = self.cursor()
- cur.execute(q,params)
- res = cur.fetchall()
- return res
- except mysql.OperationalError:
- try:
- self.__init__(self.cursorclass)
- cur = self.cursor()
- cur.execute(q,params)
- res = cur.fetchall()
- return res
- except:
- #blackout fail
- return []
- def getone(self,q,params=None):
- try:
- cur = self.cursor()
- cur.execute(q,params)
- res = cur.fetchone()
- if res != None:
- return res.values()[0]
- else:
- return None
- except mysql.OperationalError:
- try:
- self.__init__(self.cursorclass.__name__)
- cur = self.cursor()
- cur.execute(q,params)
- res = cur.fetchone()
- if res != None:
- return res.values()[0]
- else:
- return None
- except Exception as e:
- #fail
- return None
- def getrow(self,q,params=None):
- try:
- cur = self.cursor()
- cur.execute(q,params)
- res = cur.fetchone()
- return res
- except mysql.OperationalError:
- try:
- self.__init__(self.cursorclass.__name__)
- cur = self.cursor()
- cur.execute(q,params)
- res = cur.fetchone()
- return res
- except:
- return None
- def execute(self,q,params=None):
- try:
- cur = self.cursor()
- cur.execute(q,params)
- self.commit()
- return cur.lastrowid
- except mysql.OperationalError:
- try:
- self.__init__(self.cursorclass.__name__)
- cur = self.cursor()
- cur.execute(q,params)
- self.commit()
- return cur.lastrowid
- except:
- return None
- def close(self):
- super(mysql.connections.Connection, self).close()
- def __del__(self):
- if self.open:
- self.close()
- if __name__ == "__main__":
- print db_host
- print db
- print db_user
Add Comment
Please, Sign In to add comment