RE: [Zope] ImportError with unlrelated and obsolete module
-----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
Jay, Dylan writes:
...
* 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 Usually, you should avoid "try ... except" with unrestricted exception catching. But here, it would be justified.
I would probably even remove the offending entry from the registry... Dieter
participants (2)
-
Dieter Maurer -
Jay, Dylan