Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tutorius/engine.py
diff options
context:
space:
mode:
authorVincent Vinet <vince.vinet@gmail.com>2009-12-04 05:06:49 (GMT)
committer Vincent Vinet <vince.vinet@gmail.com>2009-12-06 04:06:40 (GMT)
commit8acd9095e8f32ee20a6c4cd105d12a133fa9f346 (patch)
treeec24b60f26bde5eaf92c8bb8495deb733ab2cb69 /tutorius/engine.py
parent3550e7a3feac8726e4747457e14932e6010b397b (diff)
Add Event Sources:event_sources
- Add source property in Action and EventFilter - Change TPropContainer contructor to accept keyword arguments and set properties that were given - Change every single TPropContainer subclass constructor to accept kwargs and pass them on to super init - Add a "null" option for TStringProperty Use Event Sources: - Make the probe require a source property to install or subscribe - Have ProbeProxy install and subscribe return a prefixed address - Make update, uninstall and unsubsribe extract the prefix from the address - Have the TutorialRunner set a source on actions/events before installing/subscribing instead of setting current activity on ProbeManager Test Event Sources: - Change the tests according to the new constructors and behaviors
Diffstat (limited to 'tutorius/engine.py')
-rw-r--r--tutorius/engine.py11
1 files changed, 4 insertions, 7 deletions
diff --git a/tutorius/engine.py b/tutorius/engine.py
index 198fa11..c0769b5 100644
--- a/tutorius/engine.py
+++ b/tutorius/engine.py
@@ -77,14 +77,9 @@ class TutorialRunner(object):
#Temp FIX until event/actions have an activity id
self._activity_id = None
- #Temp FIX until event, actions have an activity id
- def setCurrentActivity(self):
- self._pM.currentActivity = self._activity_id
-
###########################################################################
# Incoming messages
def start(self):
- self.setCurrentActivity() #Temp Hack until activity in events/actions
self.enterState(self._tutorial.INIT)
def stop(self):
@@ -141,6 +136,8 @@ class TutorialRunner(object):
# Send all the event registration
for (event_name, (event, next_state)) in transitions.items():
+ if hasattr(event, "source") and not event.source:
+ event.source = self._activity_id
self._pM.subscribe(event,
save_args(self._handleEvent, next_state),
save_args(self.event_subscribed, event_name),
@@ -153,7 +150,6 @@ class TutorialRunner(object):
###########################################################################
# Helper functions
def _execute_stop(self):
- self.setCurrentActivity() #Temp Hack until activity in events/actions
self._teardownState()
self._state = None
self._runner_state = RUNNER_STATE_IDLE
@@ -253,6 +249,8 @@ class TutorialRunner(object):
for (action_name, action) in actions.items():
LOGGER.debug("TutorialRunner :: Installed action %s"%(action_name))
+ if hasattr(action, "source") and not action.source:
+ action.source = self._activity_id
self._pM.install(action,
save_args(self.action_installed, action_name),
save_args(self.install_error, action_name))
@@ -269,7 +267,6 @@ class TutorialRunner(object):
@param state_name The name of the state to enter in
"""
- self.setCurrentActivity() #Temp Hack until activity in events/actions
# Set the runner state to actions setup
self._runner_state = RUNNER_STATE_SETUP_ACTIONS