if delimiter:
prefix = src_name + delimiter if not src_name.endswith(delimiter) else src_name
src_names = self._list_objects_no_limit(user, src_account, src_container, prefix, delimiter=None, virtual=True, domain=None, keys=[], shared=False, until=None, size_range=None, all_props=True, public=False)
+ src_names.sort(key=lambda x: x[2]) # order by nodes
paths = [elem[0] for elem in src_names]
nodes = [elem[2] for elem in src_names]
# TODO: Will do another fetch of the properties in duplicate version...
src_version_id = prop[self.SERIAL]
hash = prop[self.HASH]
vtype = prop[self.TYPE]
+ size = prop[self.SIZE]
dest_prefix = dest_name + delimiter if not dest_name.endswith(delimiter) else dest_name
vdest_name = path.replace(prefix, dest_prefix, 1)
dest_version_ids.append(self._update_object_hash(user, dest_account, dest_container, vdest_name, size, vtype, hash, None, dest_domain, dest_meta, replace_meta, permissions, src_node=node, src_version_id=src_version_id, is_copy=is_copy))
def test_copy_dir(self):
self.client.create_folder(self.containers[0], 'dir')
- objects = ('object1', 'subdir/object2', 'dirs')
- for name in objects[:-1]:
- self.upload_random_data(self.containers[0], 'dir/%s' % name)
+ objects = ('object1.jpg', 'subdir/object2.pdf', 'dirs')
+ for name, i in zip(objects[:-1], range(1, len(objects[:-1])+1)):
+ self.upload_random_data(self.containers[0], 'dir/%s' % name, length=i*1024)
self.upload_random_data(self.containers[0], 'dirs')
self.client.copy_object(self.containers[0], 'dir', self.containers[1], 'dir-backup', delimiter='/')
def test_move_dir(self):
self.client.create_folder(self.containers[0], 'dir')
- objects = ('object1', 'subdir/object2', 'dirs')
+ objects = ('object1.jpg', 'subdir/object2.pdf', 'dirs')
meta = {}
- for name in objects[:-1]:
- self.upload_random_data(self.containers[0], 'dir/%s' % name)
+ for name, i in zip(objects[:-1], range(1, len(objects[:-1])+1)):
+ self.upload_random_data(self.containers[0], 'dir/%s' % name, length=i*1024)
meta[name] = self.client.retrieve_object_metadata(self.containers[0], 'dir/%s' % name)
self.upload_random_data(self.containers[0], 'dirs')
def test_delete_dir(self):
self.client.create_folder(self.containers[0], 'dir')
- objects = ('object1', 'subdir/object2', 'dirs')
+ objects = ('object1.jpg', 'subdir/object2.pdf', 'dirs')
for name in objects[:-1]:
self.upload_random_data(self.containers[0], 'dir/%s' % name)
self.upload_random_data(self.containers[0], 'dirs')