Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/activity/activityhandle.py
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2007-02-21 23:41:26 (GMT)
committer Marco Pesenti Gritti <mpg@redhat.com>2007-02-21 23:41:26 (GMT)
commit0d7bdeb20a6a807852a92aa5e854d1f5bfa9d82f (patch)
tree95c338942de476ef6b15b8bdf8804f824bd76600 /sugar/activity/activityhandle.py
parent0556d5f51f05e7effde34cfa7d0e977a5b204ef1 (diff)
Improve handle marshalling. Add an uri to the handle.
Diffstat (limited to 'sugar/activity/activityhandle.py')
-rw-r--r--sugar/activity/activityhandle.py31
1 files changed, 23 insertions, 8 deletions
diff --git a/sugar/activity/activityhandle.py b/sugar/activity/activityhandle.py
index f9d1f30..24c9d67 100644
--- a/sugar/activity/activityhandle.py
+++ b/sugar/activity/activityhandle.py
@@ -21,14 +21,29 @@ class ActivityHandle(object):
def __init__(self, activity_id):
self.activity_id = activity_id
self.pservice_id = None
+ self.uri = None
- def __str__(self):
- return self.activity_id
+ def get_presence_service(self):
+ if self.pservice_id:
+ pservice = PresenceService.get_instance()
+ return pservice.get_activity(self.pservice_id)
+ else:
+ return None
- def get_presence_service():
- pservice = PresenceService.get_instance()
- return pservice.get_activity(self._pservice_id)
+ def get_dict(self):
+ result = { 'activity_id' : self.activity_id }
+ if self.pservice_id:
+ result['pservice_id'] = self.pservice_id
+ if self.uri:
+ result['uri'] = self.uri
-def create_from_string(handle):
- activity_handle = ActivityHandle(handle)
- activity_handle.pservice_id = handle
+ return result
+
+def create_from_dict(handle_dict):
+ result = ActivityHandle(handle_dict['activity_id'])
+ if handle_dict.has_key('pservice_id'):
+ result.pservice_id = handle_dict['pservice_id']
+ if handle_dict.has_key('uri'):
+ result.uri = handle_dict['uri']
+
+ return result