Ron Adam <[EMAIL PROTECTED]> wrote: ... > class namespace(dict): > def __getattr__(self, name): > return self.__getitem__(name) ... > Any thoughts? Any better way to do this?
If any of the keys (which become attributes through this trick) is named 'update', 'keys', 'get' (and so on), you're toast; it really looks like a nasty, hard-to-find bug just waiting to happen. If you're really adamant on going this perilous way, you might try overriding __getattribute__ rather than __getattr__ (the latter is called only when an attribute is not found "in the normal way"). If you think about it, you're asking for incompatible things: by saying that a namespace X IS-A dict, you imply that X.update (&c) is a bound method of X; at the same time, you also want X.update to mean just the same thing as X['update']. Something's gotta give...!-) Alex -- http://mail.python.org/mailman/listinfo/python-list