summaryrefslogtreecommitdiff
path: root/openstackclient/object/v1/lib
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-08-12 06:43:17 +0000
committerGerrit Code Review <review@openstack.org>2014-08-12 06:43:17 +0000
commitf0b077eb7063d51790b207a78280206bebe63eb3 (patch)
treed85ecb8ea0a486ccada280cc44eb84662e129918 /openstackclient/object/v1/lib
parent0cfd0b1da75d6acc2b9895eef9ac16c04f048001 (diff)
parent8af26a51c3a9ad5808d7c69a07d652121dab27c1 (diff)
downloadpython-openstackclient-f0b077eb7063d51790b207a78280206bebe63eb3.tar.gz
Merge "Add commands for object upload and delete"
Diffstat (limited to 'openstackclient/object/v1/lib')
-rw-r--r--openstackclient/object/v1/lib/object.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/openstackclient/object/v1/lib/object.py b/openstackclient/object/v1/lib/object.py
index ffc7e9b8..2473caa3 100644
--- a/openstackclient/object/v1/lib/object.py
+++ b/openstackclient/object/v1/lib/object.py
@@ -24,6 +24,52 @@ except ImportError:
from urlparse import urlparse # noqa
+def create_object(
+ api,
+ url,
+ container,
+ object,
+):
+ """Create an object, upload it to a container
+
+ :param api: a restapi object
+ :param url: endpoint
+ :param container: name of container to store object
+ :param object: local path to object
+ :returns: dict of returned headers
+ """
+
+ full_url = "%s/%s/%s" % (url, container, object)
+ response = api.put(full_url, data=open(object))
+ url_parts = urlparse(url)
+ data = {
+ 'account': url_parts.path.split('/')[-1],
+ 'container': container,
+ 'object': object,
+ }
+ data['x-trans-id'] = response.headers.get('X-Trans-Id', None)
+ data['etag'] = response.headers.get('Etag', None)
+
+ return data
+
+
+def delete_object(
+ api,
+ url,
+ container,
+ object,
+):
+ """Delete an object stored in a container
+
+ :param api: a restapi object
+ :param url: endpoint
+ :param container: name of container that stores object
+ :param container: name of object to delete
+ """
+
+ api.delete("%s/%s/%s" % (url, container, object))
+
+
def list_objects(
api,
url,