Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2007-05-21 10:47:28 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2007-05-21 10:47:28 (GMT)
commit17b31427765d21591986b927955f6f5342201d82 (patch)
tree6848e43c192ec8411b0e4f87a1d8b6d9086de9ba /sugar
parentf1d67f661e22150381886784d80c79e0db542e17 (diff)
parent8c8dffe662b9b2491eed2e553e3165c827f1c3cc (diff)
Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar
Conflicts: configure.ac
Diffstat (limited to 'sugar')
-rw-r--r--sugar/activity/activity.py11
-rw-r--r--sugar/datastore/datastore.py3
-rw-r--r--sugar/datastore/dbus_helpers.py2
-rw-r--r--sugar/graphics/canvasicon.py2
-rw-r--r--sugar/presence/presenceservice.py16
5 files changed, 23 insertions, 11 deletions
diff --git a/sugar/activity/activity.py b/sugar/activity/activity.py
index 421d7ba..3dba4c7 100644
--- a/sugar/activity/activity.py
+++ b/sugar/activity/activity.py
@@ -28,6 +28,7 @@ import gtk, gobject
from sugar.presence import presenceservice
from sugar.activity.activityservice import ActivityService
+from sugar.activity import bundleregistry
from sugar.graphics.window import Window
from sugar.graphics.toolbox import Toolbox
from sugar.graphics.toolbutton import ToolButton
@@ -200,13 +201,15 @@ class Activity(Window, gtk.Container):
if handle.object_id:
self.jobject = datastore.get(handle.object_id)
+ self.jobject.object_id = ''
+ del self.jobject['ctime']
+ del self.jobject['mtime']
elif create_jobject:
logging.debug('Creating a jobject.')
self.jobject = datastore.create()
self.jobject['title'] = '%s %s' % (get_bundle_name(), 'Activity')
self.jobject['activity'] = self.get_service_name()
- self.jobject['date'] = str(time.time())
- self.jobject['icon'] = ''
+ self.jobject['icon'] = self._get_icon()
self.jobject['keep'] = '0'
self.jobject['buddies'] = ''
self.jobject['preview'] = ''
@@ -329,6 +332,10 @@ class Activity(Window, gtk.Container):
raise
self.destroy()
+ def _get_icon(self):
+ registry = bundleregistry.get_registry()
+ return registry.get_bundle(self.get_service_name()).get_icon()
+
def get_bundle_name():
"""Return the bundle name for the current process' bundle
"""
diff --git a/sugar/datastore/datastore.py b/sugar/datastore/datastore.py
index 99fd230..9d65670 100644
--- a/sugar/datastore/datastore.py
+++ b/sugar/datastore/datastore.py
@@ -39,6 +39,9 @@ class DSObject(gobject.GObject):
self.metadata[key] = value
self.emit('updated')
+ def __delitem__(self, key):
+ del self.metadata[key]
+
def get_metadata(self):
return self._metadata
diff --git a/sugar/datastore/dbus_helpers.py b/sugar/datastore/dbus_helpers.py
index 33aa9a6..fa05491 100644
--- a/sugar/datastore/dbus_helpers.py
+++ b/sugar/datastore/dbus_helpers.py
@@ -40,7 +40,7 @@ def create(properties, filename):
return object_id
def update(uid, properties, filename, reply_handler=None, error_handler=None):
- logging.debug('dbus_helpers.update')
+ logging.debug('dbus_helpers.update: %s, %s' % (uid, filename))
if reply_handler and error_handler:
_data_store.update(uid, dbus.Dictionary(properties), filename,
reply_handler=reply_handler,
diff --git a/sugar/graphics/canvasicon.py b/sugar/graphics/canvasicon.py
index 14f8351..ec141d0 100644
--- a/sugar/graphics/canvasicon.py
+++ b/sugar/graphics/canvasicon.py
@@ -123,7 +123,7 @@ class _IconCache:
del self._icons[evict_key]
def get_handle(self, name, fill_color, stroke_color):
- if name == None:
+ if not name:
return None
if name[0:6] == "theme:":
diff --git a/sugar/presence/presenceservice.py b/sugar/presence/presenceservice.py
index 621a289..1bc9a57 100644
--- a/sugar/presence/presenceservice.py
+++ b/sugar/presence/presenceservice.py
@@ -36,6 +36,8 @@ DBUS_SERVICE = "org.laptop.Sugar.Presence"
DBUS_INTERFACE = "org.laptop.Sugar.Presence"
DBUS_PATH = "/org/laptop/Sugar/Presence"
+_logger = logging.getLogger('sugar.presence.presenceservice')
+
class PresenceService(gobject.GObject):
"""UI-side interface to the dbus presence service
@@ -116,7 +118,7 @@ class PresenceService(gobject.GObject):
DBUS_INTERFACE
)
except dbus.exceptions.DBusException, err:
- logging.error(
+ _logger.error(
"""Failure retrieving %r interface from the D-BUS service %r %r: %s""",
DBUS_INTERFACE, DBUS_SERVICE, DBUS_PATH, err
)
@@ -247,7 +249,7 @@ class PresenceService(gobject.GObject):
try:
resp = self._ps.GetActivities()
except dbus.exceptions.DBusException, err:
- logging.warn(
+ _logger.warn(
"""Unable to retrieve activity list from presence service: %s"""
% err
)
@@ -269,7 +271,7 @@ class PresenceService(gobject.GObject):
try:
act_op = self._ps.GetActivityById(activity_id)
except dbus.exceptions.DBusException, err:
- logging.warn(
+ _logger.warn(
"""Unable to retrieve activity handle for %r from presence service: %s"""
% (activity_id, err)
)
@@ -285,7 +287,7 @@ class PresenceService(gobject.GObject):
try:
resp = self._ps.GetBuddies()
except dbus.exceptions.DBusException, err:
- logging.warn(
+ _logger.warn(
"""Unable to retrieve buddy-list from presence service: %s"""
% err
)
@@ -308,7 +310,7 @@ class PresenceService(gobject.GObject):
try:
buddy_op = self._ps.GetBuddyByPublicKey(dbus.ByteArray(key))
except dbus.exceptions.DBusException, err:
- logging.warn(
+ _logger.warn(
"""Unable to retrieve buddy handle for %r from presence service: %s"""
% key, err
)
@@ -320,7 +322,7 @@ class PresenceService(gobject.GObject):
try:
owner_op = self._ps.GetOwner()
except dbus.exceptions.DBusException, err:
- logging.warn(
+ _logger.warn(
"""Unable to retrieve local user/owner from presence service: %s"""
% err
)
@@ -335,7 +337,7 @@ class PresenceService(gobject.GObject):
def _share_activity_error_cb(self, activity, err):
"""Notify with GObject event of unsuccessful sharing of activity"""
- logging.debug("Error sharing activity %s: %s" % (activity.get_id(), err))
+ _logger.debug("Error sharing activity %s: %s" % (activity.get_id(), err))
self.emit("activity-shared", False, None, err)
def share_activity(self, activity, properties={}):