[ZODB-Dev] Problems when Conflict Resolution import code that try to open client storage

Dieter Maurer dieter at handshake.de
Fri Sep 23 12:56:39 EDT 2005


Chris Withers wrote at 2005-9-23 16:09 +0100:
>Is there any reason these shouldn't be included in core Zope?

Esthetic (probably spelled badly) reasons maybe:

   ZODB/ZEO is an independent package (not depending on Zope).

   The patches let it at least reference Zope.

A cleaner solution would be to start ZEO in a Zope environment
with a different Zope specific script which could activate
the shown patches and then call "runzeo".

> ....
>> I modified "runzeo" to prevent it to start Zope.
>> 
>> It looks like this:
>> 
>> def main(args=None):
>>     try:
>>         # DM: prevent Zope from being start up
>>         #     (out of conflict resolution code)
>>         import Zope; Zope.startup = None
>>     except ImportError: pass
>> 
>> I also added the following patch:
>> 
>> # DM: 2004-06-03
>> # activate Zope's INSTANCE_HOME magic.
>> # This is necessary for conflict resolution of classes
>> # defined in "$INSTANCE_HOME/Products"
>> # Note that this is only a partial workaround. A complete solution
>> # would give ZEO the same Python path and product configuration options
>> # used by Zope. To get better control which classes are loaded
>> # an additional registration facility for such classes would
>> # be needed as well.
>> try: from App import FindHomes
>> except ImportError: pass # this is not Zope

-- 
Dieter


More information about the ZODB-Dev mailing list