[Checkins] SVN: z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/ Forgot to register the event handler that removes any indirect lock tokens

Michael Kerrin michael.kerrin at openapp.ie
Sun Jun 10 14:56:35 EDT 2007


Log message for revision 76594:
  Forgot to register the event handler that removes any indirect lock tokens
  when the roottoken as ended.
  

Changed:
  U   z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/configure.zcml
  U   z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/indirecttokens.py

-=-
Modified: z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/configure.zcml
===================================================================
--- z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/configure.zcml	2007-06-10 18:54:30 UTC (rev 76593)
+++ z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/configure.zcml	2007-06-10 18:56:35 UTC (rev 76594)
@@ -39,4 +39,10 @@
       set_attributes="expiration duration remaining_duration" />
   </class>
 
+  <subscriber
+     for="zope.locking.interfaces.IEndableToken
+          zope.locking.interfaces.ITokenEndedEvent"
+     handler=".indirecttokens.removeEndedTokens"
+     />
+
 </configure>

Modified: z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/indirecttokens.py
===================================================================
--- z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/indirecttokens.py	2007-06-10 18:54:30 UTC (rev 76593)
+++ z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/indirecttokens.py	2007-06-10 18:56:35 UTC (rev 76594)
@@ -17,6 +17,7 @@
 """
 
 import persistent
+import zope.component
 import zope.interface
 import zope.locking.interfaces
 import zope.locking.tokens
@@ -34,7 +35,6 @@
 
     Some initial setup including creating some demo content.
 
-      >>> import zope.component
       >>> from zope.locking import utility, utils
       >>> util = utility.TokenUtility()
       >>> zope.component.getGlobalSiteManager().registerUtility(
@@ -142,7 +142,9 @@
       True
       >>> len(lockroot.annotations[INDIRECT_INDEX_KEY])
       3
-      >>> removeEndedTokens(ev)
+      >>> ev.object is lockroot
+      True
+      >>> removeEndedTokens(lockroot, ev)
       >>> len(lockroot.annotations[INDIRECT_INDEX_KEY])
       0
 
@@ -428,7 +430,9 @@
         return self.roottoken.end()
 
 
-def removeEndedTokens(event):
+ at zope.component.adapter(zope.locking.interfaces.IEndableToken,
+                        zope.locking.interfaces.ITokenEndedEvent)
+def removeEndedTokens(object, event):
     """subscriber handler for ITokenEndedEvent"""
     assert zope.locking.interfaces.ITokenEndedEvent.providedBy(event)
     roottoken = event.object



More information about the Checkins mailing list