import os from durus.connection import Connection from durus.file_storage import FileStorage from durus.persistent import Persistent from durus.persistent_list import PersistentList FILENAME='broken.durus' class People(PersistentList): def addPerson(self,name): self.append(Person(name)) class Person(Persistent): def __init__(self,name): self.name=name def init(createDb): if createDb: try: os.unlink(FILENAME) except: pass s=FileStorage(FILENAME) #s=ClientStorage() #this fails as well c=Connection(s) root=c.get_root() if createDb: root['peopledb']=People() c.commit() return c,root['peopledb'] def putInSome(c,db): for i in range(20): db.addPerson(People()) c.commit() if __name__=='__main__': c,db=init(True) putInSome(c,db) c.storage.close() c,db=init(False) putInSome(c,db)