def __init__(self, useDictCursor = False): if len(dcp) > 0: if useDictCursor: self.innerConn = dcp.pop() else: self.innerConn = rcp.pop() now = datetime.datetime.today() if (now - dbTimeout) > self.innerConn.connectTime: self.innerConn.close() self.innerConn = SingleConnection(useDictCursor) else: self.innerConn = SingleConnection(useDictCursor)
class Connection: def __init__(self, useDictCursor = False): if len(dcp) > 0: if useDictCursor: self.innerConn = dcp.pop() else: self.innerConn = rcp.pop() now = datetime.datetime.today() if (now - dbTimeout) > self.innerConn.connectTime: self.innerConn.close() self.innerConn = SingleConnection(useDictCursor) else: self.innerConn = SingleConnection(useDictCursor) def usingDictCursor(self): return self.innerConn.usingDictCursor() def executeStatement(self, statement, placeholder): return self.innerConn.executeStatement(statement, placeholder) def getRowCount(self): return self.innerConn.rowcount() def commit(self): self.innerConn.commit() def rollback(self): self.innerConn.rollback() def close(self): self.commit() self.__close_() def cancelAndClose(self): self.rollback() self.__close_() def __close_(self): utakaLog = open('/var/www/html/utaka/utakaLog', 'a') try: if self.usingDictCursor(): utakaLog.write('Dictionary Database Connection Returned to Pool\r\n') else: utakaLog.write('Regular Database Connection Returned to Pool\r\n') finally: utakaLog.close() if self.usingDictCursor(): dcp.append(self.innerConn) else: rcp.append(self.innerConn) self.innerConn = None