[Zope] Standalone ZODB and OOBTree
Luis N
tegmine at gmail.com
Tue Feb 8 18:32:39 EST 2005
I'm having troubles opening and closing the standalone ZODB with an OOBTree.
def opendb():
path = os.path.expanduser('~/zodb/zodb.fs')
try:
storage = FileStorage.FileStorage(path)
db = DB(storage)
conn = db.open()
dbroot = conn.root()
if not dbroot.has_key('authors'):
dbroot['authors'] = OOBTree()
dbroot = conn.root()
return (dbroot, conn, db, storage)
except:
return False
def closedb(database):
try:
get_transaction.abort()
database[0].close()
database[1].close()
database[2].close()
return True
except:
return False
>>> db = opendb()
>>> db[0]
{'authors': <BTrees._OOBTree.OOBTree object at 0x82e1dac>}
>>> db[1]
<Connection at 082f6d6c>
>>> db[2]
<ZODB.DB.DB object at 0x81dd34c>
>>> closedb(db)
False
>>> db[0].close
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AttributeError: 'PersistentMapping' object has no attribute 'close'
>>> db[1].close
<bound method Connection.close of <Connection at 082f6d6c>>
>>> db[2].close
<bound method DB.close of <ZODB.DB.DB object at 0x81dd34c>>
How should the OOBTree closed?
More information about the Zope
mailing list