[Zope-dev] RE: [Zope] ImportError with unlrelated and obsolete module

Jay, Dylan djay@avaya.com
Mon, 24 Jun 2002 15:37:33 +1000


> -----Original Message-----
> From: Dieter Maurer [mailto:dieter@handshake.de]
> Jay, Dylan writes:
>  > ..
>  > ZSQLMethods has nothing to do with PTKBase. When I try to 
> access any
>  > advanced tab from an ZQLMethod I get the following error. 
> (PTKBase is no
>  > longer installed and I have to need to install it)
>  > ...
>  >     (Object: manage_advancedForm)
>  >   File 
> C:\PROGRA~1\Zope\25228D~1.1\lib\python\Shared\DC\ZRDB\DA.py, line
>  > 476, in manage_product_zclass_info
>  >     (Object: qryGetPersonInfoSQL)
>  >   File 
> C:\PROGRA~1\Zope\25228D~1.1\lib\python\ZODB\Connection.py, line 472,
>  > in setstate
>  > ImportError: (see above)
> You know the custom classes you can use in the ZSQL Advanced tab?
> You can use ZClasses to implement such classes.
> 
> The method "Shared.DC.ZRDB.DA.DA.manage_product_zclass_info"
> runs through all ZClasses and tries to build a list of
> ZClasses that can be used for this purpose.
> 
> Thereby, it hits a ZClass that is dependent on a product that 
> is no longer
> installed.
> 
> Your options:
> 
>   *  find the ZClass that produces the problem and delete it.
> 
>      It is probably an old Portal Toolkit ZClass.

I'm pretty sure that no longer exists either. Something must be wrong with
the code that cleans out this registry. This email shows the problem quite
clearly
http://mail.python.org/pipermail/zope/2001-August/097435.html 

If I could somehow readd the appropriate classes and then delete them so it
removes the classes properly then that might clear it out but I havn't
managed to do that yet. This registry looks like a real bodgy piece of work.
Shouldn't it use more indirection or be able to refresh itself or something
 
>   *  add a "try ... except" round line 476 of "Shared/DC/ZRDB/DA.py"
> 
>      File a bug report to "<http://collector.zope.org>" with your
>      patch

I filed a bug report but wasn't confident in patching it since I wasn't sure
sideeffects catching those errors might have. Personally I think there is a
more robust solution possible but I'd like to here someone closer to the
code offer an opinion on this.

http://collector.zope.org/Zope/438