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
|
Snapshot c8700feccf
|
||||||
|
|
||||||
* Removing activity from donut when not the active and the last one (erikos)
|
* Removing activity from donut when not the active and the last one (erikos)
|
||||||
|
@ -487,6 +487,7 @@ class Activity(Window, gtk.Container):
|
|||||||
pass
|
pass
|
||||||
self._updating_jobject = True
|
self._updating_jobject = True
|
||||||
datastore.write(self._jobject,
|
datastore.write(self._jobject,
|
||||||
|
transfer_ownership=True,
|
||||||
reply_handler=self._internal_save_cb,
|
reply_handler=self._internal_save_cb,
|
||||||
error_handler=self._internal_save_error_cb)
|
error_handler=self._internal_save_error_cb)
|
||||||
|
|
||||||
|
@ -186,7 +186,7 @@ def create():
|
|||||||
metadata['mtime'] = metadata['ctime']
|
metadata['mtime'] = metadata['ctime']
|
||||||
return DSObject(object_id=None, metadata=metadata, file_path=None)
|
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')
|
logging.debug('datastore.write')
|
||||||
|
|
||||||
properties = ds_object.metadata.get_dictionary().copy()
|
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,
|
dbus_helpers.update(ds_object.object_id,
|
||||||
properties,
|
properties,
|
||||||
ds_object.file_path,
|
ds_object.file_path,
|
||||||
|
transfer_ownership,
|
||||||
reply_handler=reply_handler,
|
reply_handler=reply_handler,
|
||||||
error_handler=error_handler,
|
error_handler=error_handler,
|
||||||
timeout=timeout)
|
timeout=timeout)
|
||||||
else:
|
else:
|
||||||
ds_object.object_id = dbus_helpers.create(properties,
|
ds_object.object_id = dbus_helpers.create(properties,
|
||||||
ds_object.file_path)
|
ds_object.file_path,
|
||||||
|
transfer_ownership)
|
||||||
# TODO: register the object for updates
|
# TODO: register the object for updates
|
||||||
logging.debug('Written object %s to the datastore.' % ds_object.object_id)
|
logging.debug('Written object %s to the datastore.' % ds_object.object_id)
|
||||||
|
|
||||||
|
@ -40,20 +40,26 @@ def _get_data_store():
|
|||||||
DS_DBUS_INTERFACE)
|
DS_DBUS_INTERFACE)
|
||||||
return _data_store
|
return _data_store
|
||||||
|
|
||||||
def create(properties, filename):
|
def create(properties, filename, transfer_ownership=False):
|
||||||
object_id = _get_data_store().create(dbus.Dictionary(properties), filename)
|
object_id = _get_data_store().create(dbus.Dictionary(properties), filename,
|
||||||
|
transfer_ownership)
|
||||||
logging.debug('dbus_helpers.create: ' + object_id)
|
logging.debug('dbus_helpers.create: ' + object_id)
|
||||||
return object_id
|
return object_id
|
||||||
|
|
||||||
def update(uid, properties, filename, reply_handler=None, error_handler=None, timeout=-1):
|
def update(uid, properties, filename, transfer_ownership=False,
|
||||||
logging.debug('dbus_helpers.update: %s, %s, %s' % (uid, filename, properties))
|
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:
|
if reply_handler and error_handler:
|
||||||
_get_data_store().update(uid, dbus.Dictionary(properties), filename,
|
_get_data_store().update(uid, dbus.Dictionary(properties), filename,
|
||||||
|
transfer_ownership,
|
||||||
reply_handler=reply_handler,
|
reply_handler=reply_handler,
|
||||||
error_handler=error_handler,
|
error_handler=error_handler,
|
||||||
timeout=timeout)
|
timeout=timeout)
|
||||||
else:
|
else:
|
||||||
_get_data_store().update(uid, dbus.Dictionary(properties), filename)
|
_get_data_store().update(uid, dbus.Dictionary(properties), filename, transfer_ownership)
|
||||||
|
|
||||||
def delete(uid):
|
def delete(uid):
|
||||||
logging.debug('dbus_helpers.delete: %r' % uid)
|
logging.debug('dbus_helpers.delete: %r' % uid)
|
||||||
|
Loading…
Reference in New Issue
Block a user