Advertisement
Guest User

Untitled

a guest
Feb 28th, 2017
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. # -*- coding:utf-8 -*-
  2. '''
  3. Created on 2013-12-16
  4.  
  5. @author: tister
  6. '''
  7.  
  8. import torndb
  9. import logging
  10. from _mysql_exceptions import OperationalError
  11.  
  12. ds_dict = {
  13. 'ds_local' : {
  14. 'host':'localhost',
  15. 'user':'test',
  16. 'password':'test',
  17. 'database':'db_bgp'
  18. } ,
  19.  
  20. }
  21.  
  22.  
  23. class DBUtil(torndb.Connection):
  24. def __init__(self, ds):
  25. ds = ds_dict.get(ds)
  26. if ds is None:
  27. raise BaseException("ds is not config")
  28. super(DBUtil, self).__init__(host=ds['host'], database=ds['database'], user=ds['user'], password=ds['password'])
  29. def query(self,sql):
  30. logging.info("query sql : %s " % sql)
  31. return super(DBUtil,self).query(sql)
  32. def transaction(self, query, *parameters, **kwparameters):
  33. self._db.begin()
  34. cursor = self._cursor()
  35. status = True
  36. try:
  37. for sql in query:
  38. cursor.execute(sql, kwparameters or parameters)
  39. self._db.commit()
  40. except OperationalError, e:
  41. self._db.rollback()
  42. status = False
  43. raise Exception(e.args[0], e.args[1])
  44. finally:
  45. cursor.close()
  46. return status
  47. def batch_excute(self,sql_prefix , param_list , step):
  48. new_param_list = [param_list[i:i+step] for i in range( 0,len(param_list),step)]
  49. for param in new_param_list:
  50. execute_sql = sql_prefix + ",".join(param)
  51. logging.info("execute sql : %s " % execute_sql)
  52. super(DBUtil,self).execute(execute_sql)
  53. return 
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement