try:
return self._threadconns[thread.get_ident()]
except KeyError:
+ print "HEY"
agent = ConnectionFairy(self)
+ print "HO"
self._threadconns[thread.get_ident()] = agent
return agent
class ConnectionFairy:
def __init__(self, pool):
self.pool = pool
- self.connection = pool.get()
+ try:
+ self.connection = pool.get()
+ except:
+ self.connection = None
+ raise
def cursor(self):
return CursorFairy(self, self.connection.cursor())
def __getattr__(self, key):
return getattr(self.connection, key)
def __del__(self):
- self.pool.return_conn(self.connection)
- self.pool = None
- self.connection = None
+ print "LALA"
+ if self.connection is not None:
+ self.pool.return_conn(self.connection)
+ self.pool = None
+ self.connection = None
class CursorFairy:
def __init__(self, parent, cursor):