[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r9005 - trunk/gnue-common/src/events
From: |
reinhard |
Subject: |
[gnue] r9005 - trunk/gnue-common/src/events |
Date: |
Wed, 8 Nov 2006 15:11:33 -0600 (CST) |
Author: reinhard
Date: 2006-11-08 15:11:31 -0600 (Wed, 08 Nov 2006)
New Revision: 9005
Modified:
trunk/gnue-common/src/events/Event.py
trunk/gnue-common/src/events/EventAware.py
trunk/gnue-common/src/events/EventController.py
Log:
Minor pylint cleanup, no code change.
Modified: trunk/gnue-common/src/events/Event.py
===================================================================
--- trunk/gnue-common/src/events/Event.py 2006-11-08 19:14:24 UTC (rev
9004)
+++ trunk/gnue-common/src/events/Event.py 2006-11-08 21:11:31 UTC (rev
9005)
@@ -36,9 +36,9 @@
An Event is the actual event object passed back and forth between the event
listeners.
- Any parameters passed to the Event's __init__ are added as attributes of
the
- event. The first attribute, however, should always be the case-sensitive
- event name.
+ Any parameters passed to the Event's __init__ are added as attributes of
+ the event. The first attribute, however, should always be the case
+ sensitive event name.
Creating an Event:
@@ -51,84 +51,83 @@
2
"""
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
# Constructor
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
- def __init__ (self, event, data = None, **parms):
+ def __init__(self, event, data=None, **parms):
"""
@param event: The name of the event. GNUe event listeners register the
- names of the events they wish to receive.
+ names of the events they wish to receive.
@param data: B{OBSOLETE: Do not use}
@param parms: Allows the event to accept any argument names you like.
- Examples would be things like::
- caller = self
- x = 15
- vals = {'name': 'Bob', 'title': 'Mr'}
+ Examples would be things like::
+ caller = self
+ x = 15
+ vals = {'name': 'Bob', 'title': 'Mr'}
"""
- self.__dict__.update (parms)
+ self.__dict__.update(parms)
# TODO: Get rid of data=
- self.data = data
+ self.data = data
- self.__event__ = event
- self.__result__ = None
- self.__dropped__ = 0
- self.__error__ = 0
+ self.__event__ = event
+ self.__result__ = None
+ self.__dropped__ = 0
+ self.__error__ = 0
self.__errortext__ = ""
- self.__after__ = []
+ self.__after__ = []
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
# Nice string representation
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
- def __repr__ (self):
+ def __repr__(self):
- return "<Event %s at %s>" % (self.__event__, id (self))
+ return "<Event %s at %s>" % (self.__event__, id(self))
- #
---------------------------------------------------------------------------
- # Get the result value stored in the event
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
+ # Result property
+ # -------------------------------------------------------------------------
- def getResult (self):
+ def getResult(self):
"""
- Returns the result value stored in the event by the L{setResult}
function.
+ Returns the result value stored in the event by the L{setResult}
+ function.
@return: The result value of the event.
"""
return self.__result__
+ # -------------------------------------------------------------------------
- #
---------------------------------------------------------------------------
- # Set the result value for the event
- #
---------------------------------------------------------------------------
-
- def setResult (self, value):
+ def setResult(self, value):
"""
- Can be used by an event listener to assign a return value to an event.
The
- result will be returned by the event controller's
+ Can be used by an event listener to assign a return value to an event.
+ The result will be returned by the event controller's
L{dispatchEvent<gnue.common.events.EventController.EventController>}
function. It can also be obtained by the L{getResult} function.
- @param value: The result value to assign to the event. It can be
anything
- that is concidered valid python.
+ @param value: The result value to assign to the event. It can be
+ anything that is concidered valid python.
"""
self.__result__ = value
+ # -------------------------------------------------------------------------
result = property(getResult, setResult)
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
# Get the name of the event
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
- def getEvent (self):
+ def getEvent(self):
"""
Returns the name of the event.
@@ -137,15 +136,16 @@
return self.__event__
+ # -------------------------------------------------------------------------
event = property(getEvent, None)
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
# Drop the event
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
- def drop (self):
+ def drop(self):
"""
Drop the event; no additional event listeners will recieve the event.
"""
@@ -153,33 +153,39 @@
self.__dropped__ = True
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
# Set the event's error flag and drop the event
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
- def setError (self, text = ""):
+ def setError(self, text = ""):
"""
Set the event's error flag and drop it (see L{drop}).
@param text: Text describing the error.
"""
- self.__error__ = 1
+ self.__error__ = 1
self.__errortext__ = text
+ # -------------------------------------------------------------------------
def getError(self):
- return self.__error__ and (self.__errortext__ or 'Unnamed Error') or
None
+ if self.__error__:
+ return (self.__errortext__ or 'Unnamed Error')
+ else:
+ return None
+ # -------------------------------------------------------------------------
+
error = property(getError, setError)
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
# Add an event to the event queue
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
- def dispatch_after (self, *args, **parms):
+ def dispatch_after(self, *args, **parms):
"""
Adds an event to the event queue that will be dispatched upon this
events
completion. The arguments to this function match those used in
creating an
@@ -188,10 +194,14 @@
Sample Usage:
>>> from gnue.common.events.Event import *
- >>> myEvent = Event ('myEventName', color = 'Blue', x = 1, y = 2)
- >>> myEvent.dispatchAfter ('theNextEvent', name = 'FSF')
+ >>> myEvent = Event('myEventName', color = 'Blue', x = 1, y = 2)
+ >>> myEvent.dispatchAfter('theNextEvent', name = 'FSF')
"""
- self.__after__.append ((args, parms))
+ self.__after__.append((args, parms))
- dispatchAfter = dispatch_after
\ No newline at end of file
+ # -------------------------------------------------------------------------
+ # Old function names (DEPRECATED)
+ # -------------------------------------------------------------------------
+
+ dispatchAfter = dispatch_after
Modified: trunk/gnue-common/src/events/EventAware.py
===================================================================
--- trunk/gnue-common/src/events/EventAware.py 2006-11-08 19:14:24 UTC (rev
9004)
+++ trunk/gnue-common/src/events/EventAware.py 2006-11-08 21:11:31 UTC (rev
9005)
@@ -27,6 +27,7 @@
__all__ = ['EventAware']
+
# =============================================================================
# Base for an object that sends and receives events
# =============================================================================
@@ -37,32 +38,34 @@
Sample Usage::
- from gnue.common import events
- class MyClass (events.EventAware):
- def __init__ (self)
- self.eventController = events.EventController()
- events.EventAware.__init__(self, self.eventController)
- self.register_listener('myEvent1', self.eventOneHandler)
- self.register_listener('myEvent2', self.eventTwoHandler)
-
- def eventOneHandler(self, event)
- print "I'm an event named ", event.event
-
- def eventTwoHandler(self, event)
- print "My event is named ", event.event
-
- test = MyClass()
- test.dispatch_event('myEvent2')
-
+ from gnue.common import events
+ class MyClass(events.EventAware):
+ def __init__(self)
+ self.eventController = events.EventController()
+ events.EventAware.__init__(self, self.eventController)
+ self.register_listener('myEvent1', self.eventOneHandler)
+ self.register_listener('myEvent2', self.eventTwoHandler)
+
+ def eventOneHandler(self, event)
+ print "I'm an event named ", event.event
+
+ def eventTwoHandler(self, event)
+ print "My event is named ", event.event
+
+ test = MyClass()
+ test.dispatch_event('myEvent2')
"""
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
# Constructor
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
- def __init__ (self, controller, *args, **kwargs):
-
- self.dispatchEvent = self.dispatch_event = controller.dispatch_event
- self.registerEventListeners = self.register_listeners =
controller.register_listeners
+ def __init__(self, controller):
+
+ self.dispatch_event = controller.dispatch_event
+ self.register_listeners = controller.register_listeners
self.register_listener = controller.register_listener
-
+
+ # Old function names (DEPRECATED)
+ self.dispatchEvent = self.dispatch_event
+ self.registerEventListeners = self.register_listeners
Modified: trunk/gnue-common/src/events/EventController.py
===================================================================
--- trunk/gnue-common/src/events/EventController.py 2006-11-08 19:14:24 UTC
(rev 9004)
+++ trunk/gnue-common/src/events/EventController.py 2006-11-08 21:11:31 UTC
(rev 9005)
@@ -25,12 +25,11 @@
Class for event dispatching.
"""
+from gnue.common.events import Event
+
__all__ = ['EventController']
-from EventAware import EventAware
-from Event import Event
-
# =============================================================================
# Implmentation of an event dispatcher
# =============================================================================
@@ -41,24 +40,25 @@
listeners.
"""
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
# Constructor
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
- def __init__(self, *args, **kwargs):
+ def __init__(self):
- self.__caching = False
- self.__registered_events = {}
+ self.__registered_events = {}
+ self.__caching = False
+ self.__cache = None
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
# Register listeners
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
def register_listeners(self, events):
"""
Registers an event listener for a dictionary of events
-
+
@param events: A dictionary of {'eventName': listenerFuction} pairs
"""
@@ -67,67 +67,67 @@
for event, listener in events.iteritems():
self.register_listener(event, listener)
+ # -------------------------------------------------------------------------
- def register_listener(self, event, listener):
+ def register_listener(self, event, listener):
"""
Registers an event listener for a specific event
-
+
@param event: The string representation of the event
@param listener: The method to call for the event
- @param filter: A method to call prior to dispatching the event to this
listener.
- If it returns False, then the listener isn't called.
"""
- try:
+
+ try:
self.__registered_events[event].append(listener)
- except KeyError:
+ except KeyError:
self.__registered_events[event] = [listener]
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
# Start storing events rather than dispatching them
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
def start_event_cache(self):
"""
- Causes the event controller to start storing events rather than
dispatching
- them. It will continue to store events until L{stopCachingEvents} is
- called.
+ Causes the event controller to start storing events rather than
+ dispatching them. It will continue to store events until
+ L{stop_event_cache} is called.
"""
self.__caching = True
self.__cache = []
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
# Stop storing events
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
def stop_event_cache(self):
"""
- Notifies the event controller that is should start processing events
again.
- Any previously cached events are dispatched.
+ Notifies the event controller that is should start processing events
+ again. Any previously cached events are dispatched.
"""
self.__caching = False
- cache = self.__cache
- del self.__cache
-
- for event, arg, kwargs in cache:
- self.dispatch_event(event, *arg, **kwargs)
+ for event, args, kwargs in self.__cache:
+ self.dispatch_event(event, *args, **kwargs)
- #
---------------------------------------------------------------------------
+ self.__cache = None
+
+
+ # -------------------------------------------------------------------------
# Dispatch or cache a given event
- #
---------------------------------------------------------------------------
+ # -------------------------------------------------------------------------
def dispatch_event(self, event, *args, **kwargs):
"""
Dispatch or cache the given event.
- @param event: L{Event} object or text identifying the type of event to
be
- cached or dispatched. If text-style event names are used, then
name-based
- parameters are passing into the inline Event() conversion.
-
+ @param event: L{Event} object or text identifying the type of event to
+ be cached or dispatched. If text-style event names are used, then
+ name-based parameters are passing into the inline Event()
+ conversion.
@returns: the event object's __result__ attribute
"""
@@ -141,14 +141,13 @@
if not registered_events:
return
- if not isinstance(event, Event):
+ if not isinstance(event, Event):
event = Event(event, *args, **kwargs)
-
for key in ('__before__', event.__event__, '__after__'):
- for handler in registered_events.get(key, ()):
+ for handler in registered_events.get(key, ()):
handler(event)
- if event.__error__ or event.__dropped__:
+ if event.__error__ or event.__dropped__:
break
if event.__after__:
@@ -158,11 +157,11 @@
return event.__result__
- # -------------------------------------------------------------------
+ # -------------------------------------------------------------------------
# For compatability (DEPRECATED)
- # -------------------------------------------------------------------
- registerEventListeners=register_listeners
+ # -------------------------------------------------------------------------
+
+ registerEventListeners = register_listeners
dispatchEvent = dispatch_event
startCachingEvents = start_event_cache
stopCachingEvents = stop_event_cache
-
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r9005 - trunk/gnue-common/src/events,
reinhard <=