Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2007-08-13 22:26:51 (GMT)
committer Marco Pesenti Gritti <mpg@redhat.com>2007-08-13 22:26:51 (GMT)
commit6debe0c34d2973d8af002fbe4fe195d6d84c2eec (patch)
treecc2f112f15cc573060bee3e6bbc24cce4b09985d
parentb2838a7e72cc2e2015887b5e35a98257c8eacb43 (diff)
parentd69de84c453b375cfde6eab260919c6c4a963a3d (diff)
Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar
-rw-r--r--NEWS2
-rw-r--r--sugar/activity/activity.py12
-rw-r--r--sugar/activity/activityfactoryservice.py2
-rw-r--r--sugar/datastore/datastore.py2
4 files changed, 16 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 5b53d9c..623fb6a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,5 @@
+Snapshot 040c94d181
+
* #2099 Tweak a color pair as requested by Walter. (marco)
* Draw an invoker that is connected with the palette for toolbuttons. (benzea)
* Fix traceback when reading in saved WPA2 network configs (dcbw)
diff --git a/sugar/activity/activity.py b/sugar/activity/activity.py
index 2c887b9..262d89b 100644
--- a/sugar/activity/activity.py
+++ b/sugar/activity/activity.py
@@ -305,6 +305,18 @@ class Activity(Window, gtk.Container):
def _internal_jobject_error_cb(self, err):
logging.debug("Error creating activity datastore object: %s" % err)
+ def get_activity_root(self):
+ """
+ Return the appropriate location in the fs where to store activity related
+ data that doesn't pertain to the current execution of the activity and
+ thus cannot go into the DataStore.
+ """
+ if os.environ.has_key('SUGAR_ACTIVITY_ROOT') and \
+ os.environ['SUGAR_ACTIVITY_ROOT']:
+ return os.environ['SUGAR_ACTIVITY_ROOT']
+ else:
+ return '/'
+
def read_file(self, file_path):
"""
Subclasses implement this method if they support resuming objects from
diff --git a/sugar/activity/activityfactoryservice.py b/sugar/activity/activityfactoryservice.py
index 8b1397f..63265a1 100644
--- a/sugar/activity/activityfactoryservice.py
+++ b/sugar/activity/activityfactoryservice.py
@@ -30,6 +30,7 @@ from sugar.activity.bundle import Bundle
from sugar.activity import activityhandle
from sugar import logger
from sugar import _sugarext
+from sugar import env
# Work around for dbus mutex locking issue
gobject.threads_init()
@@ -156,6 +157,7 @@ def run(bundle_path):
gtk.icon_theme_get_default().append_search_path(bundle.get_icons_path())
os.environ['SUGAR_BUNDLE_PATH'] = bundle_path
+ os.environ['SUGAR_ACTIVITY_ROOT'] = env.get_profile_path(bundle.get_service_name())
_sugarext.set_prgname(bundle.get_service_name())
_sugarext.set_application_name(bundle.get_name())
diff --git a/sugar/datastore/datastore.py b/sugar/datastore/datastore.py
index 1fbe615..5ba994d 100644
--- a/sugar/datastore/datastore.py
+++ b/sugar/datastore/datastore.py
@@ -140,14 +140,12 @@ class DSObject(object):
activityfactory.create_with_object_id(service_name, object_id)
def destroy(self):
- logging.debug('DSObject.destroy() file_path: %r.' % self._file_path)
if self._destroyed:
logging.warning('This DSObject has already been destroyed!.')
import pdb;pdb.set_trace()
return
self._destroyed = True
if self._file_path and self._owns_file:
- logging.debug('Removing temp file: %r' % self._file_path)
if os.path.isfile(self._file_path):
os.remove(self._file_path)
self._owns_file = False