On Wed, 3 Mar 1999, Cees de Groot wrote:
etcetera yet - that could work. Just hoped somebody on the list here would have a canned answer - I'm a lazy guy ;-)
Everybody on this list is lazy ;-) This is my approach: First define a Webobject class that every object needs to inherit. The simplest could be just: class WebObject: def __init__(self,name): '''__init__(self,name) ''' self.name=string.replace(name,' ','_') def _set_root(self,root_obj,parent_path): '''_set_root(self,root_obj,parent_path) sets the root object and relative path. Note: one will never need to pass parent_path directly. I also need to have a reference to the root object so I can do stuff remotely similar to acquisition''' self.root=root_obj self.rel_path=parent_path+self.name+os.sep class Container(WebObject): def __init__(self,name): WebObject.__init__(self,name) ##Holds contents self._d={} def __getitem__(self, key): return self._d[key] def items(self): return self._d.items() def _do_add(self,object): '''_do_add(self,object) Adds object in container. Object MUST have inherited the WebObject class.''' name=object.name if hasattr(self,name) or self._d.has_key(name): raise ValueError,'Object with same name exists in WebFolder' d=self._d object._set_root(self.root,self.rel_path) d[name]=object self._d=d So you can create any object that has inherited the WebObject class independently and add it to the container instance. Pavlos