diff options
author | Lars Wirzenius <liw@liw.fi> | 2018-01-21 13:48:29 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2018-01-21 20:27:35 +0200 |
commit | 832611434405f4efae05d16f15ab9f7b88ae810c (patch) | |
tree | 06a258ed8fdabe8ab34185b41a5a483fb3905b31 /ick2/apibase.py | |
parent | fb9548f872b37d1536e260b0d1b5befd11d50e65 (diff) | |
download | ick2-832611434405f4efae05d16f15ab9f7b88ae810c.tar.gz |
Fix: retain next_build_id when project is updated
Diffstat (limited to 'ick2/apibase.py')
-rw-r--r-- | ick2/apibase.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/ick2/apibase.py b/ick2/apibase.py index d02e3a1..13b258a 100644 --- a/ick2/apibase.py +++ b/ick2/apibase.py @@ -157,7 +157,7 @@ class ResourceApiBase(APIbase): return self._state.get_resource(self._type_name, name) def create(self, body, **kwargs): - resource = self.mangle_resource(body) + resource = self.mangle_new_resource(body) name = self.get_resource_name(resource) try: self._state.get_resource(self._type_name, name) @@ -166,21 +166,24 @@ class ResourceApiBase(APIbase): else: raise ick2.ExistsAlready(name) - def mangle_resource(self, resource): # pragma: no cover + def mangle_new_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): - resource = self.mangle_resource(body) - name = self.get_resource_name(resource) + name = self.get_resource_name(body) try: - self._state.get_resource(self._type_name, name) + old = self._state.get_resource(self._type_name, name) except ick2.NotFound: raise else: + resource = self.mangle_updated_resource(old, body) return self._state.update_resource(self._type_name, name, resource) + def mangle_updated_resource(self, old, new): # pragma: no cover + return new + def delete(self, name, **kwargs): self._state.remove_resource(self._type_name, name) |