From 04d371ecdf8c81b463e775b5d602540ef101e1b7 Mon Sep 17 00:00:00 2001 From: Nikita Konovalov Date: Mon, 30 Sep 2013 18:50:49 +0400 Subject: [PATCH] Fix job_binary_internals creation Change-Id: I04f8f282b3823ff6d8f060c9836ba29f22889a61 --- savannaclient/api/base.py | 12 ++++++++++-- savannaclient/api/job_binary_internals.py | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/savannaclient/api/base.py b/savannaclient/api/base.py index 592fa8ca..f8c99ccc 100644 --- a/savannaclient/api/base.py +++ b/savannaclient/api/base.py @@ -84,10 +84,18 @@ class ResourceManager(object): data = get_json(resp) return self.resource_class(self, data) - def _update(self, url, data): - resp = self.api.client.put(url, json.dumps(data)) + def _update(self, url, data, response_key=None, dump_json=True): + if dump_json: + data = json.dumps(data) + resp = self.api.client.put(url, data) + if resp.status_code != 202: self._raise_api_exception(resp) + if response_key is not None: + data = get_json(resp)[response_key] + else: + data = get_json(resp) + return self.resource_class(self, data) def _list(self, url, response_key): resp = self.api.client.get(url) diff --git a/savannaclient/api/job_binary_internals.py b/savannaclient/api/job_binary_internals.py index 9a661740..9515f7bf 100644 --- a/savannaclient/api/job_binary_internals.py +++ b/savannaclient/api/job_binary_internals.py @@ -24,7 +24,7 @@ class JobBinaryInternalsManager(base.ResourceManager): resource_class = JobBinaryInternal def create(self, name, data): - return self._create('/job-binary-internals/%s' % name, data, + return self._update('/job-binary-internals/%s' % name, data, 'job_binary_internal', dump_json=False) def list(self):