KJZZ Webmaster wrote at 2007-1-22 09:53 -0700:
>I am using zope 2.8.1. and am using the following dtml method to reindex
>the catalog:
><dtml-let URL1=HTTP_REFERER>
><dtml-call "Catalog.manage_catalogReindex(REQUEST, RESPONSE, URL1)">
><dtml-call expr="RESPONSE.redirect(URL1)">
>However, midway through the reindex, I am receiving the following error 
>Traceback (innermost last):
>  Module ZPublisher.Publish, line 113, in publish
>  Module ZPublisher.mapply, line 88, in mapply
>  Module ZPublisher.Publish, line 40, in call_object
>  Module OFS.DTMLMethod, line 153, in __call__
>   - <DTMLMethod at /somepath/somedtmlmethod>
>   - Physical Path: //somepath/somedtmlmethod
>KeyError: 'validate'
>I checked the zope source file here:
>and found the reference to the "validate" method in line 128:
>        if self.__dict__.has_key('validate'):
>            first_time_through = 0
>        else:
>            self.__dict__['validate'] = security.DTMLValidate
>            first_time_through = 1
>        try:
>My questions are these:
>a) what changes could I to the catalog to avoid this error in the future?

Your problem is not in the catalog.

If the "KeyError: 'validate'" really comes from the code
snippet above, then you have a "DTMLMethod" with a very
strange "__dict__". A normal dict would not raise
a "KeyError: 'validate'", even when 'validate' indeed does not exist.

If fear, this problem is big enough that debugging is necessary.

> ...
>Is the catalog getting too large, and maybe the reindex is taking too long
>to complete?

No (there is no limit on the catalog size. It may just get a bit slower).

>b) are there any changes to the script \lib\python\OFS\DTMLMethod.py that
>I could make which would eliminate, or at least render this error message

Unlikely. The code (as least the quoted one) should work...

Zope maillist  -  Zope@zope.org
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to