Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding:utf-8 -*-
- '''
- Created on 2013-12-16
- @author: tister
- '''
- import torndb
- import logging
- from _mysql_exceptions import OperationalError
- ds_dict = {
- 'ds_local' : {
- 'host':'localhost',
- 'user':'test',
- 'password':'test',
- 'database':'db_bgp'
- } ,
- }
- class DBUtil(torndb.Connection):
- def __init__(self, ds):
- ds = ds_dict.get(ds)
- if ds is None:
- raise BaseException("ds is not config")
- super(DBUtil, self).__init__(host=ds['host'], database=ds['database'], user=ds['user'], password=ds['password'])
- def query(self,sql):
- logging.info("query sql : %s " % sql)
- return super(DBUtil,self).query(sql)
- def transaction(self, query, *parameters, **kwparameters):
- self._db.begin()
- cursor = self._cursor()
- status = True
- try:
- for sql in query:
- cursor.execute(sql, kwparameters or parameters)
- self._db.commit()
- except OperationalError, e:
- self._db.rollback()
- status = False
- raise Exception(e.args[0], e.args[1])
- finally:
- cursor.close()
- return status
- def batch_excute(self,sql_prefix , param_list , step):
- new_param_list = [param_list[i:i+step] for i in range( 0,len(param_list),step)]
- for param in new_param_list:
- execute_sql = sql_prefix + ",".join(param)
- logging.info("execute sql : %s " % execute_sql)
- super(DBUtil,self).execute(execute_sql)
- return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement