Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Silbe <sascha@silbe.org>2009-07-11 19:24:24 (GMT)
committer Sascha Silbe <sascha@silbe.org>2009-07-11 19:24:24 (GMT)
commitbe3cc8da174ca031986eb3c3fa9f8f2fdf5de1dc (patch)
tree65030d89e6eaff30028e6a86260550eb97a2c5c0
parentf63b06f89de7e4ce124d8d832ee81b9423e79cd8 (diff)
fix some bugs introduced by the API adaptions
-rw-r--r--src/sugar/activity/activity.py22
-rw-r--r--src/sugar/activity/activityfactory.py20
-rw-r--r--src/sugar/activity/activityhandle.py14
-rw-r--r--src/sugar/activity/main.py4
-rw-r--r--src/sugar/activity/namingalert.py4
-rw-r--r--src/sugar/datastore/datastore.py48
-rw-r--r--src/sugar/graphics/objectchooser.py14
7 files changed, 62 insertions, 64 deletions
diff --git a/src/sugar/activity/activity.py b/src/sugar/activity/activity.py
index f3a4eb0..3cbc5d5 100644
--- a/src/sugar/activity/activity.py
+++ b/src/sugar/activity/activity.py
@@ -500,8 +500,8 @@ class Activity(Window, gtk.Container):
share_scope = SCOPE_PRIVATE
- if handle.object_id:
- self._jobject = datastore.get(handle.object_id, handle.version_id)
+ if handle.tree_id:
+ self._jobject = datastore.get(handle.tree_id, handle.version_id)
self.set_title(self._jobject.metadata['title'])
if self._jobject.metadata.has_key('share-scope'):
@@ -537,14 +537,14 @@ class Activity(Window, gtk.Container):
else:
logging.debug("Unknown share scope %r" % share_scope)
- if handle.object_id is None and create_jobject:
+ if handle.tree_id is None and create_jobject:
logging.debug('Creating a jobject.')
self._jobject = datastore.create()
title = _('%s Activity') % get_bundle_name()
self._jobject.metadata['title'] = title
self.set_title(self._jobject.metadata['title'])
self._jobject.metadata['title_set_by_user'] = '0'
- self._jobject.metadata['activity'] = self.get_bundle_id()
+ self._jobject.metadata['bundle_id'] = self.get_bundle_id()
self._jobject.metadata['activity_id'] = self.get_id()
self._jobject.metadata['keep'] = '0'
self._jobject.metadata['preview'] = ''
@@ -691,7 +691,7 @@ class Activity(Window, gtk.Container):
"""
raise NotImplementedError
- def __save_cb(self, object_id, version_id):
+ def __save_cb(self, tree_id, version_id):
logging.debug('Activity.__save_cb')
self._updating_jobject = False
if self._quit_requested:
@@ -771,7 +771,7 @@ class Activity(Window, gtk.Container):
logging.debug('Cannot save, no journal object.')
return
- logging.debug('Activity.save: (%r,%r)' % (self._jobject.object_id, self._jobject.version_id))
+ logging.debug('Activity.save: (%r,%r)' % (self._jobject.tree_id, self._jobject.version_id))
if self._updating_jobject:
logging.info('Activity.save: still processing a previous request.')
@@ -799,7 +799,7 @@ class Activity(Window, gtk.Container):
# Cannot call datastore.write async for creates:
# https://dev.laptop.org/ticket/3071
- if self._jobject.object_id is None:
+ if self._jobject.tree_id is None:
datastore.write(self._jobject, transfer_ownership=True)
else:
self._updating_jobject = True
@@ -815,9 +815,9 @@ class Activity(Window, gtk.Container):
Activities should not override this method. Instead, like save() do any
copy work that needs to be done in write_file()
"""
- logging.debug('Activity.copy: (%r,%r)' % (self._jobject.object_id, self._jobject.version_id))
+ logging.debug('Activity.copy: (%r,%r)' % (self._jobject.tree_id, self._jobject.version_id))
self.save()
- self._jobject.object_id = None
+ self._jobject.tree_id = None
self._jobject.version_id = None
def __privacy_changed_cb(self, shared_activity, param_spec):
@@ -1058,8 +1058,8 @@ def get_activity_root():
raise RuntimeError("No SUGAR_ACTIVITY_ROOT set.")
# SS: TODO: optionally pass version_id
-def show_object_in_journal(object_id):
+def show_object_in_journal(tree_id):
bus = dbus.SessionBus()
obj = bus.get_object(J_DBUS_SERVICE, J_DBUS_PATH)
journal = dbus.Interface(obj, J_DBUS_INTERFACE)
- journal.ShowObject(object_id)
+ journal.ShowObject(tree_id)
diff --git a/src/sugar/activity/activityfactory.py b/src/sugar/activity/activityfactory.py
index 566455c..58de117 100644
--- a/src/sugar/activity/activityfactory.py
+++ b/src/sugar/activity/activityfactory.py
@@ -123,7 +123,7 @@ def get_environment(activity):
return environ
-def get_command(activity, activity_id=None, object_id=None, version_id=None, uri=None):
+def get_command(activity, activity_id=None, tree_id=None, version_id=None, uri=None):
if not activity_id:
activity_id = create_activity_id()
@@ -131,8 +131,8 @@ def get_command(activity, activity_id=None, object_id=None, version_id=None, uri
command.extend(['-b', activity.get_bundle_id()])
command.extend(['-a', activity_id])
- if object_id is not None:
- command.extend(['-o', object_id])
+ if tree_id is not None:
+ command.extend(['-o', tree_id])
if version_id is not None:
command.extend(['-r', version_id])
if uri is not None:
@@ -222,7 +222,7 @@ class ActivityCreationHandler(gobject.GObject):
self._shell = dbus.Interface(bus_object, _SHELL_IFACE)
if handle.activity_id is not None and \
- handle.object_id is None:
+ handle.tree_id is None:
datastore = dbus.Interface(
bus.get_object(_DS_SERVICE, _DS_PATH), _DS_INTERFACE)
datastore.find({ 'activity_id': self._handle.activity_id }, [],
@@ -252,7 +252,7 @@ class ActivityCreationHandler(gobject.GObject):
environ = get_environment(self._bundle)
(log_path, log_file) = open_log_file(self._bundle)
command = get_command(self._bundle, self._handle.activity_id,
- self._handle.object_id,
+ self._handle.tree_id,
self._handle.version_id,
self._handle.uri)
@@ -322,8 +322,8 @@ class ActivityCreationHandler(gobject.GObject):
if count > 0:
if count > 1:
logging.debug("Multiple objects has the same activity_id.")
- self._handle.object_id = jobjects[0]['uid']
- self._handle.version_id = jobjects[0]['vid']
+ self._handle.tree_id = jobjects[0]['tree_id']
+ self._handle.version_id = jobjects[0]['version_id']
self._launch_activity()
def _find_object_error_handler(self, err):
@@ -341,7 +341,7 @@ def create_with_uri(bundle, uri):
activity_handle = ActivityHandle(uri=uri)
return ActivityCreationHandler(bundle, activity_handle)
-def create_with_object_id(bundle, object_id, version_id):
- """Create a new activity and pass both the object id and the version id as handle."""
- activity_handle = ActivityHandle(object_id=object_id, version_id=version_id)
+def create_with_tree_id(bundle, tree_id, version_id):
+ """Create a new activity and pass both the tree id and the version id as handle."""
+ activity_handle = ActivityHandle(tree_id=tree_id, version_id=version_id)
return ActivityCreationHandler(bundle, activity_handle)
diff --git a/src/sugar/activity/activityhandle.py b/src/sugar/activity/activityhandle.py
index 83645d0..2153ffb 100644
--- a/src/sugar/activity/activityhandle.py
+++ b/src/sugar/activity/activityhandle.py
@@ -22,19 +22,19 @@ STABLE.
class ActivityHandle(object):
"""Data structure storing simple activity metadata"""
def __init__(
- self, activity_id=None, object_id=None, version_id=None, uri=None
+ self, activity_id=None, tree_id=None, version_id=None, uri=None
):
"""Initialise the handle from activity_id
activity_id -- unique id for the activity to be
created
- object_id -- identity of the journal object
+ tree_id -- identity of the journal object
associated with the activity.
version_id -- the exact version of the journal
object.
When you resume an activity from the journal
- the object_id and version_id will be passed in.
+ the tree_id and version_id will be passed in.
It's optional since new activities do not have an
associated object (yet).
uri -- URI associated with the activity. Used when
@@ -44,15 +44,15 @@ class ActivityHandle(object):
example or web pages)
"""
self.activity_id = activity_id
- self.object_id = object_id
+ self.tree_id = tree_id
self.version_id = version_id
self.uri = uri
def get_dict(self):
"""Retrieve our settings as a dictionary"""
result = { 'activity_id' : self.activity_id }
- if self.object_id:
- result['object_id'] = self.object_id
+ if self.tree_id:
+ result['tree_id'] = self.tree_id
result['version_id'] = self.version_id
if self.uri:
result['uri'] = self.uri
@@ -63,7 +63,7 @@ def create_from_dict(handle_dict):
"""Create a handle from a dictionary of parameters"""
result = ActivityHandle(
handle_dict['activity_id'],
- object_id = handle_dict.get('object_id'),
+ tree_id = handle_dict.get('tree_id'),
version_id = handle_dict.get('version_id'),
uri = handle_dict.get('uri'),
)
diff --git a/src/sugar/activity/main.py b/src/sugar/activity/main.py
index f894118..458696a 100644
--- a/src/sugar/activity/main.py
+++ b/src/sugar/activity/main.py
@@ -60,7 +60,7 @@ def main():
help="identifier of the activity bundle")
parser.add_option("-a", "--activity-id", dest="activity_id",
help="identifier of the activity instance")
- parser.add_option("-o", "--object-id", dest="object_id",
+ parser.add_option("-o", "--tree-id", dest="tree_id",
help="identifier of the associated datastore object")
parser.add_option("-r", "--version-id", dest="version_id",
help="version of the associated datastore object")
@@ -111,7 +111,7 @@ def main():
activity_constructor = getattr(module, class_name)
activity_handle = activityhandle.ActivityHandle(
activity_id=options.activity_id,
- object_id=options.object_id, version_id=options.version_id,
+ tree_id=options.tree_id, version_id=options.version_id,
uri=options.uri)
if options.single_process is True:
diff --git a/src/sugar/activity/namingalert.py b/src/sugar/activity/namingalert.py
index 11b7688..70aa1b5 100644
--- a/src/sugar/activity/namingalert.py
+++ b/src/sugar/activity/namingalert.py
@@ -253,9 +253,7 @@ class NamingAlert(gtk.Window):
return favorite_icon
def _create_entry_icon(self):
- bundle_id = self._activity.metadata.get('activity', '')
- if not bundle_id:
- bundle_id = self._activity.metadata.get('bundle_id', '')
+ bundle_id = self._activity.metadata.get('bundle_id', '')
if bundle_id == '':
file_name = _get_icon_name(self._activity.metadata)
diff --git a/src/sugar/datastore/datastore.py b/src/sugar/datastore/datastore.py
index 87eedd2..74806e5 100644
--- a/src/sugar/datastore/datastore.py
+++ b/src/sugar/datastore/datastore.py
@@ -42,7 +42,7 @@ class DSMetadata(gobject.GObject):
else:
self._props = props
- default_keys = ['activity', 'activity_id',
+ default_keys = ['bundle_id', 'activity_id',
'mime_type', 'title_set_by_user']
for key in default_keys:
if not self._props.has_key(key):
@@ -81,8 +81,8 @@ class DSMetadata(gobject.GObject):
return default
class DSObject(object):
- def __init__(self, object_id, version_id, metadata=None, file_path=None):
- self.object_id = object_id
+ def __init__(self, tree_id, version_id, metadata=None, file_path=None):
+ self.tree_id = tree_id
self.version_id = version_id
self._metadata = metadata
self._file_path = file_path
@@ -90,8 +90,8 @@ class DSObject(object):
self._owns_file = False
def get_metadata(self):
- if self._metadata is None and not self.object_id is None:
- metadata = DSMetadata(dbus_helpers.get_properties(self.object_id, self.version_id))
+ if self._metadata is None and not self.tree_id is None:
+ metadata = DSMetadata(dbus_helpers.get_properties(self.tree_id, self.version_id))
self._metadata = metadata
return self._metadata
@@ -102,8 +102,8 @@ class DSObject(object):
metadata = property(get_metadata, set_metadata)
def get_file_path(self, fetch=True):
- if fetch and self._file_path is None and not self.object_id is None:
- self.set_file_path(dbus_helpers.get_filename(self.object_id, self.version_id))
+ if fetch and self._file_path is None and not self.tree_id is None:
+ self.set_file_path(dbus_helpers.get_filename(self.tree_id, self.version_id))
self._owns_file = True
return self._file_path
@@ -137,11 +137,11 @@ class DSObject(object):
def copy(self):
return DSObject(None, self._metadata.copy(), self._file_path)
-def get(object_id, version_id):
+def get(tree_id, version_id):
logging.debug('datastore.get')
- metadata = dbus_helpers.get_properties(object_id, version_id)
+ metadata = dbus_helpers.get_properties(tree_id, version_id)
- ds_object = DSObject(object_id, version_id, DSMetadata(metadata), None)
+ ds_object = DSObject(tree_id, version_id, DSMetadata(metadata), None)
# TODO: register the object for updates
return ds_object
@@ -149,7 +149,7 @@ def create():
metadata = DSMetadata()
metadata['mtime'] = datetime.now().isoformat()
metadata['timestamp'] = int(time.time())
- return DSObject(object_id=None, version_id=None, metadata=metadata, file_path=None)
+ return DSObject(tree_id=None, version_id=None, metadata=metadata, file_path=None)
def write(ds_object, update_mtime=True, transfer_ownership=False,
reply_handler=None, error_handler=None, timeout=-1):
@@ -167,8 +167,8 @@ def write(ds_object, update_mtime=True, transfer_ownership=False,
# FIXME: this func will be sync for creates regardless of the handlers
# supplied. This is very bad API, need to decide what to do here.
- if ds_object.object_id:
- dbus_helpers.update(ds_object.object_id, ds_object.version_id,
+ if ds_object.tree_id:
+ dbus_helpers.update(ds_object.tree_id, ds_object.version_id,
properties,
file_path,
transfer_ownership,
@@ -179,17 +179,17 @@ def write(ds_object, update_mtime=True, transfer_ownership=False,
if reply_handler or error_handler:
logging.warning('datastore.write() cannot currently be called' \
'async for creates, see ticket 3071')
- (ds_object.object_id, ds_object.version_id) = dbus_helpers.create(properties,
+ (ds_object.tree_id, ds_object.version_id) = dbus_helpers.create(properties,
file_path,
transfer_ownership)
- ds_object.metadata['uid'] = ds_object.object_id
- ds_object.metadata['vid'] = ds_object.version_id
+ ds_object.metadata['tree_id'] = ds_object.tree_id
+ ds_object.metadata['version_id'] = ds_object.version_id
# TODO: register the object for updates
- logging.debug('Written object (%s,%s) to the datastore.' % (ds_object.object_id, ds_object.version_id))
+ logging.debug('Written object (%s,%s) to the datastore.' % (ds_object.tree_id, ds_object.version_id))
-def delete(object_id, version_id):
+def delete(tree_id, version_id):
logging.debug('datastore.delete')
- dbus_helpers.delete(object_id, version_id)
+ dbus_helpers.delete(tree_id, version_id)
def find(query, sorting=None, limit=None, offset=None, properties=None,
reply_handler=None, error_handler=None):
@@ -211,12 +211,12 @@ def find(query, sorting=None, limit=None, offset=None, properties=None,
objects = []
for props in props_list:
- object_id = props['uid']
- version_id = props['vid']
- del props['uid']
- del props['vid']
+ tree_id = props['tree_id']
+ version_id = props['version_id']
+ del props['tree_id']
+ del props['version_id']
- ds_object = DSObject(object_id, version_id, DSMetadata(props), None)
+ ds_object = DSObject(tree_id, version_id, DSMetadata(props), None)
objects.append(ds_object)
return objects, total_count
diff --git a/src/sugar/graphics/objectchooser.py b/src/sugar/graphics/objectchooser.py
index a53478d..c4b9daf 100644
--- a/src/sugar/graphics/objectchooser.py
+++ b/src/sugar/graphics/objectchooser.py
@@ -51,7 +51,7 @@ class ObjectChooser(object):
self._parent_xid = parent_xid
self._main_loop = None
- self._object_id = None
+ self._tree_id = None
self._version_id = None
self._bus = None
self._chooser_id = None
@@ -59,7 +59,7 @@ class ObjectChooser(object):
self._what_filter = what_filter
def run(self):
- self._object_id = None
+ self._tree_id = None
self._version_id = None
self._main_loop = gobject.MainLoop()
@@ -95,10 +95,10 @@ class ObjectChooser(object):
return self._response_code
def get_selected_object(self):
- if self._object_id is None:
+ if self._tree_id is None:
return None
else:
- return datastore.get(self._object_id, self._version_id)
+ return datastore.get(self._tree_id, self._version_id)
def destroy(self):
self._cleanup()
@@ -109,12 +109,12 @@ class ObjectChooser(object):
self._main_loop = None
self._bus = None
- def __chooser_response_cb(self, chooser_id, object_id, version_id):
+ def __chooser_response_cb(self, chooser_id, tree_id, version_id):
if chooser_id != self._chooser_id:
return
- logging.debug('ObjectChooser.__chooser_response_cb: (%r,%r)' % (object_id, version_id))
+ logging.debug('ObjectChooser.__chooser_response_cb: (%r,%r)' % (tree_id, version_id))
self._response_code = gtk.RESPONSE_ACCEPT
- self._object_id = object_id
+ self._tree_id = tree_id
self._version_id = version_id
self._cleanup()