diff --git a/bin/sugar-activity b/bin/sugar-activity index 12809b10..9f1ba97b 100755 --- a/bin/sugar-activity +++ b/bin/sugar-activity @@ -35,11 +35,12 @@ DBusGMainLoop(set_as_default=True) from sugar3.activity import activityhandle from sugar3 import config from sugar3.bundle.activitybundle import ActivityBundle -from sugar3.activity.activityfactory import get_environment from sugar3 import logger from sugar3.bundle.bundle import MalformedBundleException +from distutils.dir_util import mkpath + def create_activity_instance(constructor, handle): activity = constructor(handle) activity.show() @@ -124,7 +125,22 @@ def main(): activity_class = bundle.get_command().split(" ")[1] if 'SUGAR_VERSION' not in os.environ: - environ = get_environment(bundle) + profile_id = os.environ.get('SUGAR_PROFILE', 'default') + home_dir = os.environ.get('SUGAR_HOME', os.path.expanduser('~/.sugar')) + base = os.path.join(home_dir, profile_id) + activity_root = os.path.join(base, bundle.get_bundle_id()) + + instance_dir = os.path.join(activity_root, 'instance') + mkpath(instance_dir) + + data_dir = os.path.join(activity_root, 'data') + mkpath(data_dir) + + tmp_dir = os.path.join(activity_root, 'tmp') + mkpath(tmp_dir) + + os.environ['SUGAR_ACTIVITY_ROOT'] = activity_root + os.environ['SUGAR_BUNDLE_PATH'] = bundle.get_path() os.environ['SUGAR_BUNDLE_ID'] = bundle.get_bundle_id() os.environ['SUGAR_BUNDLE_NAME'] = bundle.get_name()