summaryrefslogtreecommitdiff
path: root/ick2/apibase.py
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2018-01-19 19:16:57 +0200
committerLars Wirzenius <liw@liw.fi>2018-01-19 19:16:57 +0200
commit66fe1de8368ba7e754fa6dad798bf351f3c3bf93 (patch)
treee1e410beeaa3264212f2760debfbcfeebd46c50d /ick2/apibase.py
parent3bc16ac24091009e73d9c4b9c2fbda0cdca6cff5 (diff)
downloadick2-66fe1de8368ba7e754fa6dad798bf351f3c3bf93.tar.gz
Change: builds are now numbered foo/123, as are logs
Diffstat (limited to 'ick2/apibase.py')
-rw-r--r--ick2/apibase.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/ick2/apibase.py b/ick2/apibase.py
index c0b1aa5..6fb2839 100644
--- a/ick2/apibase.py
+++ b/ick2/apibase.py
@@ -157,25 +157,30 @@ class ResourceApiBase(APIbase):
return self._state.get_resource(self._type_name, name)
def create(self, body, **kwargs):
- name = self.get_resource_name(body)
+ resource = self.mangle_resource(body)
+ name = self.get_resource_name(resource)
try:
self._state.get_resource(self._type_name, name)
except ick2.NotFound:
- return self._state.add_resource(self._type_name, name, body)
+ return self._state.add_resource(self._type_name, name, resource)
else:
raise ick2.ExistsAlready(name)
+ def mangle_resource(self, resource): # pragma: no cover
+ return resource
+
def get_resource_name(self, resource): # pragma: no cover
raise NotImplementedError()
def update(self, body, name, **kwargs):
- name = self.get_resource_name(body)
+ resource = self.mangle_resource(body)
+ name = self.get_resource_name(resource)
try:
self._state.get_resource(self._type_name, name)
except ick2.NotFound:
raise
else:
- return self._state.update_resource(self._type_name, name, body)
+ return self._state.update_resource(self._type_name, name, resource)
def delete(self, name, **kwargs):
self._state.remove_resource(self._type_name, name)