Revision ad9ada51 snf-pithos-backend/pithos/backends/modular.py
b/snf-pithos-backend/pithos/backends/modular.py | ||
---|---|---|
863 | 863 |
if src_version_id is None: |
864 | 864 |
src_version_id = pre_version_id |
865 | 865 |
self._put_metadata_duplicate( |
866 |
src_version_id, dest_version_id, domain, meta, replace_meta) |
|
866 |
src_version_id, dest_version_id, domain, node, meta, replace_meta)
|
|
867 | 867 |
|
868 | 868 |
del_size = self._apply_versioning(account, container, pre_version_id, |
869 | 869 |
update_statistics_ancestors_depth=1) |
... | ... | |
1277 | 1277 |
dest_version_id, mtime = self.node.version_create( |
1278 | 1278 |
node, hash, size, type, src_version_id, user, uuid, checksum, |
1279 | 1279 |
cluster, update_statistics_ancestors_depth) |
1280 |
|
|
1281 |
self.node.attribute_unset_is_latest(node, dest_version_id) |
|
1282 |
|
|
1280 | 1283 |
return pre_version_id, dest_version_id |
1281 | 1284 |
|
1282 |
def _put_metadata_duplicate(self, src_version_id, dest_version_id, domain, meta, replace=False): |
|
1285 |
def _put_metadata_duplicate(self, src_version_id, dest_version_id, domain, |
|
1286 |
node, meta, replace=False): |
|
1283 | 1287 |
if src_version_id is not None: |
1284 | 1288 |
self.node.attribute_copy(src_version_id, dest_version_id) |
1285 | 1289 |
if not replace: |
1286 | 1290 |
self.node.attribute_del(dest_version_id, domain, ( |
1287 | 1291 |
k for k, v in meta.iteritems() if v == '')) |
1288 |
self.node.attribute_set(dest_version_id, domain, ( |
|
1292 |
self.node.attribute_set(dest_version_id, domain, node, (
|
|
1289 | 1293 |
(k, v) for k, v in meta.iteritems() if v != '')) |
1290 | 1294 |
else: |
1291 | 1295 |
self.node.attribute_del(dest_version_id, domain) |
1292 |
self.node.attribute_set(dest_version_id, domain, (( |
|
1296 |
self.node.attribute_set(dest_version_id, domain, node, ((
|
|
1293 | 1297 |
k, v) for k, v in meta.iteritems())) |
1294 | 1298 |
|
1295 | 1299 |
def _put_metadata(self, user, node, domain, meta, replace=False, |
... | ... | |
1300 | 1304 |
user, node, |
1301 | 1305 |
update_statistics_ancestors_depth=update_statistics_ancestors_depth) |
1302 | 1306 |
self._put_metadata_duplicate( |
1303 |
src_version_id, dest_version_id, domain, meta, replace) |
|
1307 |
src_version_id, dest_version_id, domain, node, meta, replace)
|
|
1304 | 1308 |
return src_version_id, dest_version_id |
1305 | 1309 |
|
1306 | 1310 |
def _list_limits(self, listing, marker, limit): |
Also available in: Unified diff