From 410da49824e3a310829a1d02e8f8b488b227d702 Mon Sep 17 00:00:00 2001 From: Charlie Date: Mon, 07 Dec 2009 14:20:08 +0000 Subject: remove the Calc hack --- (limited to 'tutorius/creator.py') diff --git a/tutorius/creator.py b/tutorius/creator.py index 9b1b9bf..6ba7011 100644 --- a/tutorius/creator.py +++ b/tutorius/creator.py @@ -44,6 +44,8 @@ from dbus import SessionBus from dbus.service import method, Object, BusName from .dbustools import ignore +from jarabe.model import bundleregistry + import logging LOGGER = logging.getLogger("creator") @@ -410,14 +412,24 @@ class Creator(Object): vault.INI_NAME_PROPERTY: tutorial_name, vault.INI_VERSION_PROPERTY: '1', } - # FIXME : The environment does not dispose of the appropriate - # variables to inform the creator at this point. We will - # need to iterate inside all the actions and remember - # their sources. - - # FIXME : I insist. This is a hack. - related_activities_dict = {} - related_activities_dict['calculate'] = '27' + + related_activities_dict ={} + activity_set = set() + + for state_name in self._tutorial.get_state_dict().keys(): + for action in self._tutorial.get_action_dict(state_name).values(): + if action.source is not None: + activity_set.add(action.source) + + for event,next_state in self._tutorial.get_transition_dict(state_name).values(): + if event.source is not None: + activity_set.add(event.source) + + reg = bundleregistry.get_registry() + for activity_name in activity_set: + bundle = reg.get_bundle(activity_name) + if bundle is not None: + related_activities_dict[activity_name] = str(bundle.get_activity_version()) self._metadata['activities'] = dict(related_activities_dict) -- cgit v0.9.1