last_modified The last object modification date (regardless of version)
x_object_version The object's version identifier
x_object_version_timestamp The object's version timestamp
-x_object_manifest Large object support (optional)
+x_object_manifest Object parts prefix in ``<container>/<object>`` form (optional)
x_object_public Object is publicly accessible (optional)
x_object_meta_* Optional user defined metadata
========================== ======================================
Content-Disposition The presentation style of the object (optional)
X-Object-Version The object's version identifier
X-Object-Version-Timestamp The object's version timestamp
-X-Object-Manifest Large object support (optional)
+X-Object-Manifest Object parts prefix in ``<container>/<object>`` form (optional)
X-Object-Public Object is publicly accessible (optional)
X-Object-Meta-* Optional user defined metadata
========================== ===============================
Content-Disposition The presentation style of the object (optional)
X-Object-Version The object's version identifier
X-Object-Version-Timestamp The object's version timestamp
-X-Object-Manifest Large object support (optional)
+X-Object-Manifest Object parts prefix in ``<container>/<object>`` form (optional)
X-Object-Public Object is publicly accessible (optional)
X-Object-Meta-* Optional user defined metadata
========================== ===============================
X-Source-Version The source version to copy/move from
Content-Encoding The encoding of the object (optional)
Content-Disposition The presentation style of the object (optional)
-X-Object-Manifest Large object support (optional)
+X-Object-Manifest Object parts prefix in ``<container>/<object>`` form (optional)
X-Object-Public Object is publicly accessible (optional)
X-Object-Meta-* Optional user defined metadata
==================== ================================
Content-Encoding The encoding of the object (optional)
Content-Disposition The presentation style of the object (optional)
X-Source-Version The source version to copy/move from
-X-Object-Manifest Large object support (optional)
+X-Object-Manifest Object parts prefix in ``<container>/<object>`` form (optional)
X-Object-Public Object is publicly accessible (optional)
X-Object-Meta-* Optional user defined metadata
==================== ================================
Transfer-Encoding Set to ``chunked`` to specify incremental uploading (if used, ``Content-Length`` is ignored)
Content-Encoding The encoding of the object (optional)
Content-Disposition The presentation style of the object (optional)
-X-Object-Manifest Large object support (optional)
+X-Object-Manifest Object parts prefix in ``<container>/<object>`` form (optional)
X-Object-Public Object is publicly accessible (optional)
X-Object-Meta-* Optional user defined metadata
==================== ================================
hash = ''
bytes = 0
try:
- src_container, src_name = split_container_object_string(meta['X-Object-Manifest'])
+ src_container, src_name = split_container_object_string('/' + meta['X-Object-Manifest'])
objects = backend.list_objects(request.user, v_account, src_container, prefix=src_name, virtual=False)
for x in objects:
src_meta = backend.get_object_meta(request.user, v_account, src_container, x[0], x[1])
raise NotModified('Resource Etag matches')
def split_container_object_string(s):
+ if not len(s) > 0 or s[0] != '/':
+ raise ValueError
+ s = s[1:]
pos = s.find('/')
if pos == -1:
raise ValueError