Guest User

Untitled

a guest
Nov 26th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  1. __author__="mark"
  2. __date__ ="$Jan 12, 2012 5:02:38 PM$"
  3.  
  4. import MySQLdb as mysql
  5. from MySQLdb import connections
  6. from MySQLdb import cursors
  7.  
  8. class DBHandler(mysql.connections.Connection):
  9. def __init__(self,dhost=db_host,duser=db_user,dpass=db_pass,dbname=db,cursor='DictCursor'):
  10. super(DBHandler,self).__init__(
  11. host = dhost,
  12. user = duser,
  13. passwd = dpass,
  14. db = dbname,
  15. cursorclass=getattr(mysql.cursors, cursor)
  16. )
  17.  
  18. def getall(self,q,params=None):
  19. try:
  20. cur = self.cursor()
  21. cur.execute(q,params)
  22. res = cur.fetchall()
  23. return res
  24. except mysql.OperationalError:
  25. try:
  26. self.__init__(self.cursorclass)
  27. cur = self.cursor()
  28. cur.execute(q,params)
  29. res = cur.fetchall()
  30. return res
  31. except:
  32. #blackout fail
  33. return []
  34.  
  35. def getone(self,q,params=None):
  36. try:
  37. cur = self.cursor()
  38. cur.execute(q,params)
  39. res = cur.fetchone()
  40. if res != None:
  41. return res.values()[0]
  42. else:
  43. return None
  44. except mysql.OperationalError:
  45. try:
  46. self.__init__(self.cursorclass.__name__)
  47. cur = self.cursor()
  48. cur.execute(q,params)
  49. res = cur.fetchone()
  50. if res != None:
  51. return res.values()[0]
  52. else:
  53. return None
  54. except Exception as e:
  55. #fail
  56. return None
  57.  
  58. def getrow(self,q,params=None):
  59. try:
  60. cur = self.cursor()
  61. cur.execute(q,params)
  62. res = cur.fetchone()
  63. return res
  64. except mysql.OperationalError:
  65. try:
  66. self.__init__(self.cursorclass.__name__)
  67. cur = self.cursor()
  68. cur.execute(q,params)
  69. res = cur.fetchone()
  70. return res
  71. except:
  72. return None
  73.  
  74. def execute(self,q,params=None):
  75. try:
  76. cur = self.cursor()
  77. cur.execute(q,params)
  78. self.commit()
  79. return cur.lastrowid
  80. except mysql.OperationalError:
  81. try:
  82. self.__init__(self.cursorclass.__name__)
  83. cur = self.cursor()
  84. cur.execute(q,params)
  85. self.commit()
  86. return cur.lastrowid
  87. except:
  88. return None
  89.  
  90. def close(self):
  91. super(mysql.connections.Connection, self).close()
  92.  
  93. def __del__(self):
  94. if self.open:
  95. self.close()
  96.  
  97. if __name__ == "__main__":
  98. print db_host
  99. print db
  100. print db_user
Add Comment
Please, Sign In to add comment