Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar
This commit is contained in:
commit
5af1b7d005
3
NEWS
3
NEWS
@ -1,3 +1,6 @@
|
||||
* Support moving of data files written to the datastore using standard Activity
|
||||
write_file() API (dcbw)
|
||||
|
||||
Snapshot c8700feccf
|
||||
|
||||
* Removing activity from donut when not the active and the last one (erikos)
|
||||
|
@ -487,6 +487,7 @@ class Activity(Window, gtk.Container):
|
||||
pass
|
||||
self._updating_jobject = True
|
||||
datastore.write(self._jobject,
|
||||
transfer_ownership=True,
|
||||
reply_handler=self._internal_save_cb,
|
||||
error_handler=self._internal_save_error_cb)
|
||||
|
||||
|
@ -186,7 +186,7 @@ def create():
|
||||
metadata['mtime'] = metadata['ctime']
|
||||
return DSObject(object_id=None, metadata=metadata, file_path=None)
|
||||
|
||||
def write(ds_object, update_mtime=True, reply_handler=None, error_handler=None, timeout=-1):
|
||||
def write(ds_object, update_mtime=True, transfer_ownership=False, reply_handler=None, error_handler=None, timeout=-1):
|
||||
logging.debug('datastore.write')
|
||||
|
||||
properties = ds_object.metadata.get_dictionary().copy()
|
||||
@ -198,12 +198,14 @@ def write(ds_object, update_mtime=True, reply_handler=None, error_handler=None,
|
||||
dbus_helpers.update(ds_object.object_id,
|
||||
properties,
|
||||
ds_object.file_path,
|
||||
transfer_ownership,
|
||||
reply_handler=reply_handler,
|
||||
error_handler=error_handler,
|
||||
timeout=timeout)
|
||||
else:
|
||||
ds_object.object_id = dbus_helpers.create(properties,
|
||||
ds_object.file_path)
|
||||
ds_object.file_path,
|
||||
transfer_ownership)
|
||||
# TODO: register the object for updates
|
||||
logging.debug('Written object %s to the datastore.' % ds_object.object_id)
|
||||
|
||||
|
@ -40,20 +40,26 @@ def _get_data_store():
|
||||
DS_DBUS_INTERFACE)
|
||||
return _data_store
|
||||
|
||||
def create(properties, filename):
|
||||
object_id = _get_data_store().create(dbus.Dictionary(properties), filename)
|
||||
def create(properties, filename, transfer_ownership=False):
|
||||
object_id = _get_data_store().create(dbus.Dictionary(properties), filename,
|
||||
transfer_ownership)
|
||||
logging.debug('dbus_helpers.create: ' + object_id)
|
||||
return object_id
|
||||
|
||||
def update(uid, properties, filename, reply_handler=None, error_handler=None, timeout=-1):
|
||||
logging.debug('dbus_helpers.update: %s, %s, %s' % (uid, filename, properties))
|
||||
def update(uid, properties, filename, transfer_ownership=False,
|
||||
reply_handler=None, error_handler=None, timeout=-1):
|
||||
debug_props = properties.copy()
|
||||
if debug_props.has_key("preview"):
|
||||
debug_props["preview"] = "<omitted>"
|
||||
logging.debug('dbus_helpers.update: %s, %s, %s, %s' % (uid, filename, debug_props, transfer_ownership))
|
||||
if reply_handler and error_handler:
|
||||
_get_data_store().update(uid, dbus.Dictionary(properties), filename,
|
||||
transfer_ownership,
|
||||
reply_handler=reply_handler,
|
||||
error_handler=error_handler,
|
||||
timeout=timeout)
|
||||
else:
|
||||
_get_data_store().update(uid, dbus.Dictionary(properties), filename)
|
||||
_get_data_store().update(uid, dbus.Dictionary(properties), filename, transfer_ownership)
|
||||
|
||||
def delete(uid):
|
||||
logging.debug('dbus_helpers.delete: %r' % uid)
|
||||
|
Loading…
Reference in New Issue
Block a user