can you shelve objects with membership?

this gives you:

TypeError: object does not support item assignment
dict 0 True
Exception exceptions.TypeError: 'object does not support item assignment' 
in  ignored

> ignored is a bit mysterious.  tx in advance.

from shelve import *
class MyShelf(DbfilenameShelf):
        def __init__(self, filename, flag='c', protocol=None, 
writeback=False, binary=None):
                self.__dict__['ready']=False
                DbfilenameShelf.__init__(self, filename, flag, protocol, 
writeback, binary)
                self.ready=True
        def __setattr__(self,name,value):
                if not self.ready:
                        self.__dict__[name]=value
                else:
                        print name, value, self.ready
                        self.__dict__[name]=value
                        DbfilenameShelf.__setitem__(self,name,value)

def open(filename, flag='c', protocol=None, writeback=False, binary=None):
      return MyShelf(filename, flag, protocol, writeback, binary)

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to