[Checkins] SVN: z3c.formjs/trunk/src/z3c/formjs/ Changed event subscriber to use more modern API and did soem formatting

Stephan Richter srichter at cosmos.phy.tufts.edu
Thu Aug 23 15:06:38 EDT 2007


Log message for revision 79167:
  Changed event subscriber to use more modern API and did soem formatting 
  fixes.
  

Changed:
  U   z3c.formjs/trunk/src/z3c/formjs/configure.zcml
  U   z3c.formjs/trunk/src/z3c/formjs/jsclientevent.py

-=-
Modified: z3c.formjs/trunk/src/z3c/formjs/configure.zcml
===================================================================
--- z3c.formjs/trunk/src/z3c/formjs/configure.zcml	2007-08-23 19:05:23 UTC (rev 79166)
+++ z3c.formjs/trunk/src/z3c/formjs/configure.zcml	2007-08-23 19:06:37 UTC (rev 79167)
@@ -124,7 +124,6 @@
 
   <!-- Server Side to Client Event Subscriber -->
   <subscriber
-      for="zope.component.interfaces.IObjectEvent"
       handler=".jsclientevent.serverToClientEventLoader"
       />
 

Modified: z3c.formjs/trunk/src/z3c/formjs/jsclientevent.py
===================================================================
--- z3c.formjs/trunk/src/z3c/formjs/jsclientevent.py	2007-08-23 19:05:23 UTC (rev 79166)
+++ z3c.formjs/trunk/src/z3c/formjs/jsclientevent.py	2007-08-23 19:06:37 UTC (rev 79167)
@@ -13,7 +13,7 @@
 ##############################################################################
 """Javascript Functions.
 
-$Id: jsfunction.py 78862 2007-08-16 00:16:19Z srichter $
+$Id$
 """
 __docformat__ = "reStructuredText"
 import sys
@@ -45,8 +45,9 @@
 
     def getHandlers(self, event):
         """See interfaces.IClientEventHandlers"""
-        return self._registry.subscriptions(map(zope.interface.providedBy, (event.object, event)),
-                                            interfaces.IClientEventHandler)
+        return self._registry.subscriptions(
+            map(zope.interface.providedBy, (event.object, event)),
+            interfaces.IClientEventHandler)
 
     def copy(self):
         """See interfaces.IClientEventHandlers"""
@@ -65,7 +66,8 @@
         return handlers
 
     def __repr__(self):
-        return '<ClientEventHandlers %r>' %[handler for required, handler in self._handlers]
+        return '<ClientEventHandlers %r>' % [
+            handler for required, handler in self._handlers]
 
 
 class ClientEventHandler(object):
@@ -87,30 +89,33 @@
     def createListener(func):
         frame = sys._getframe(1)
         f_locals = frame.f_locals
-        handlers = f_locals.setdefault('jsClientListeners', ClientEventHandlers())
+        handlers = f_locals.setdefault(
+            'jsClientListeners', ClientEventHandlers())
         jsListener = ClientEventHandler(required, func)
         return handlers.addHandler(required, jsListener)
     return createListener
 
+
+ at zope.component.adapter(zope.component.interfaces.IObjectEvent)
 def serverToClientEventLoader(event):
     """Event handler that listens for server side events
     and stores the event in the request to be picked up by
     the form and rendered as a client side function call."""
 
-    #step 1: get the interaction
+    # Step 1: Get the interaction.
     interaction = getInteraction()
     participations = interaction.participations
 
-    #step 2: look for a request in the participation
+    # Step 2-1: Look for a request in the participation.
     request = None
     for part in participations:
         if IBrowserRequest.providedBy(part):
             request = part
             break
-    #if no request was found, we have nothing to do.
+    # Step 2-2: If no request was found, we have nothing to do.
     if request is None:
         return
-    #step 3: add the event to the list of events this handler has caught.
+    # Step 3: Add the event to the list of events this handler has caught.
     events = request.annotations.setdefault(CLIENT_EVENT_REQUEST_KEY, [])
     if event not in events:
         events.append(event)
@@ -134,6 +139,7 @@
     def eventInjections(self):
         results = []
         for event in self.eventCalls:
-            results += [h(self, event) for h in self.jsClientListeners.getHandlers(event)]
+            results += [h(self, event)
+                        for h in self.jsClientListeners.getHandlers(event)]
         results = '\n'.join(results)
         return results



More information about the Checkins mailing list