Ivo van der Wijk wrote:
On 6/14/05, Jim Fulton <[EMAIL PROTECTED]> wrote:

In preparation for the 3.1 release, I made these packages (as
well as zope.app.observable and zope.app.schema) optional and thus
configured vie package includes.  If you have an instance that
uses these, you will need to add package includes for these.

I somewhat missed it - cubic started to work without much errors (the
catalog simply stopped working)

After fixing things/ adding includes, I ran into an old issue again (I
have clean Zope3 svn checkout at this moment, no additional
hacks/workarounds anymore):

  File "/home/ivo/Projects/Zope3/Zope3-svn/src/zope/app/security/adapter.py",
line 88, in __call__    adapter = self.factory(*args)
line 41, in __init__
    raise zope.app.keyreference.interfaces.NotYet(object)
NotYet: <zope.app.workflow.stateful.definition.State object at 0xb3bd076c>

The IntId utility can't handle these exceptions. The following diff
fixes things (for me, at least)

Index: intid/__init__.py
--- intid/__init__.py   (revision 30806)
+++ intid/__init__.py   (working copy)
@@ -158,7 +158,10 @@

     utilities = tuple(zapi.getAllUtilitiesRegisteredFor(IIntIds))
     if utilities: # assert that there are any utilites
-        key = IKeyReference(ob, None)
+        try:
+            key = IKeyReference(ob, None)
+        except NotYet:
+            key = None
         # Register only objects that adapt to key reference
         if key is not None:
             for utility in utilities:

Yes, but I worry that this could hide bugs.

You have an object that could potentially be registered, but
can't be yet because we can't get the database yet.  It is being added.
Later, when it has a database, it won't be added again and so won't be
registered.  This will lead to mysterous bugs where objects that should
be cataloged won't be.


Jim Fulton           mailto:[EMAIL PROTECTED]       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org
Zope3-dev mailing list
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to