34 lines
992 B
Python
34 lines
992 B
Python
import time, random, sys
|
|
import sqlite3 as lite
|
|
|
|
class mysqlite:
|
|
|
|
def execute(self, query, args = None, rmin = 1.5, rmax = 7.0):
|
|
|
|
while True:
|
|
try: return self.cursor.execute(query,args) if args else self.cursor.execute(query)
|
|
except:
|
|
print '%s\nquery: %s\nargs: %s' % (str(sys.exc_info()), str(query), str(args))
|
|
time.sleep(random.uniform(rmin, rmax))
|
|
|
|
def executemany(self, query, args, rmin = 1.5, rmax = 7.0):
|
|
|
|
while True:
|
|
try: return self.cursor.executemany(query,args)
|
|
except:
|
|
print '%s\nquery: %s\nargs: %s' % (str(sys.exc_info()), str(query), str(args))
|
|
time.sleep(random.uniform(rmin, rmax))
|
|
|
|
def commit(self, rmin = 1.5, rmax = 7.0):
|
|
while True:
|
|
try: return self.handle.commit()
|
|
except: time.sleep(random.uniform(rmin, rmax))
|
|
|
|
def close(self):
|
|
self.handle.close()
|
|
|
|
def __init__(self, database, factory = None):
|
|
self.handle = lite.connect(database)
|
|
if factory: self.handle.text_factory = factory
|
|
self.cursor = self.handle.cursor()
|