diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-07-27 23:25:08 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-07-27 23:25:08 (GMT) |
commit | 86bd6f50f0ad5eaaf2110e245c979687eb041d22 (patch) | |
tree | 8517b74e5451ee070776576713b15273797cf335 /sugar/activity/Activity.py | |
parent | 1d370ca8e5b8f4f4b863adb7bb9ea39fe885d284 (diff) |
Use dbus activation to launch factories. This breaks
p-to-p chat and ./sugar/activities. Will fix tomorrow.
Diffstat (limited to 'sugar/activity/Activity.py')
-rw-r--r-- | sugar/activity/Activity.py | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/sugar/activity/Activity.py b/sugar/activity/Activity.py index faaa7d8..b26ac01 100644 --- a/sugar/activity/Activity.py +++ b/sugar/activity/Activity.py @@ -1,5 +1,4 @@ import sys -import imp import dbus import dbus.service @@ -34,20 +33,14 @@ class ActivityFactory(dbus.service.Object): def __init__(self, name, activity_class, default_type): self._default_type = default_type + splitted_module = activity_class.rsplit('.', 1) module_name = splitted_module[0] class_name = splitted_module[1] - - (fp, pathname, description) = imp.find_module(module_name) - module = imp.load_module(module_name, fp, pathname, description) - - try: - start = getattr(module, 'start') - except: - start = None - if start: - start() + module = __import__(module_name) + for comp in module_name.split('.')[1:]: + module = getattr(module, comp) self._class = getattr(module, class_name) |