[Zope-dev] 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