[Zope] Need for "aq_base" in DTML (was: Re: [Zope] Dumb DTML question - existance check of an object) (was: Re: [Zope] Dumb DTML question - existance check of an object)

Dieter Maurer dieter@handshake.de
Wed, 26 Jul 2000 21:27:35 +0200 (CEST)


Satheesh Babu writes:
 > I have a URL, say, /sub1/sub2. How do I check in DTML
 > whether
 >   1. folder sub1 exists or not
 >   2. If not, create it.
 >   3. folder sub2 exists under sub1
 >   4. If not, create it.
It is easy, if you are a bit sloppy.

 * Access to "/": "PARENTS[-1]"
 * Existence check: "_.hasattr(object,what)"
     NOTE, that this is the sloppy part.

      - "_.hasattr" will return true, if "object" has
        attribute "what" (that is what we want)
	*OR* when it has acquired such an attribute
	(we do *NOT* want that here).

	What we would need is a DTML accessible version
	of "aq_base". This is trivially handled by
	an external method.

      - it returns true, when there is such an attribute.
        This may not be a folder.

	You can check "meta_type" to see, it is indeed a folder.

 * creation: "manage_addFolder"
     look in the ZDP's (http:zdp.zope.org) object reference
     for the function's signature.

     I think, this info is available in the Zope 2.2 help system, too.


Dieter