diff --git a/shell/model/ShellModel.py b/shell/model/ShellModel.py index e87dc122..54b7ebc5 100644 --- a/shell/model/ShellModel.py +++ b/shell/model/ShellModel.py @@ -21,6 +21,7 @@ from sugar.activity.bundleregistry import BundleRegistry from model.Friends import Friends from model.MeshModel import MeshModel from model.Owner import ShellOwner +from sugar import env class ShellModel: def __init__(self): @@ -40,10 +41,9 @@ class ShellModel: path = os.path.expanduser('~/Activities') self._bundle_registry.add_search_path(path) - if os.environ.has_key('XDG_DATA_DIRS'): - for path in os.environ['XDG_DATA_DIRS'].split(':'): - bundles_path = os.path.join(path, 'activities') - self._bundle_registry.add_search_path(bundles_path) + for path in env.get_data_dirs(): + bundles_path = os.path.join(path, 'activities') + self._bundle_registry.add_search_path(bundles_path) def get_bundle_registry(self): return self._bundle_registry diff --git a/sugar/env.py b/sugar/env.py index 209f3460..0c996b47 100644 --- a/sugar/env.py +++ b/sugar/env.py @@ -60,6 +60,13 @@ def get_dbus_config_094(): def get_shell_bin_dir(): return sugar_shell_bin_dir +# http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html +def get_data_dirs(): + if os.environ.has_key('XDG_DATA_DIRS'): + return os.environ['XDG_DATA_DIRS'].split(':') + else: + return [ '/usr/local/share/', '/usr/share/' ] + _dbus_version = None def get_dbus_version(): global _dbus_version