diff options
-rw-r--r-- | ick2/__init__.py | 2 | ||||
-rw-r--r-- | ick2/apibase.py | 28 | ||||
-rw-r--r-- | ick2/controllerapi.py | 36 |
3 files changed, 33 insertions, 33 deletions
diff --git a/ick2/__init__.py b/ick2/__init__.py index c48629b..0ba03c5 100644 --- a/ick2/__init__.py +++ b/ick2/__init__.py @@ -28,7 +28,7 @@ from .responses import ( not_found, text_plain, ) -from .apibase import APIbase +from .apibase import APIbase, ResourceApiBase from .versionapi import VersionAPI from .controllerapi import ( ControllerAPI, diff --git a/ick2/apibase.py b/ick2/apibase.py index 36aad3b..c7abc45 100644 --- a/ick2/apibase.py +++ b/ick2/apibase.py @@ -127,3 +127,31 @@ class APIbase: def show(self, name): raise NotImplementedError() + + +class ResourceApiBase(APIbase): + + def __init__(self, type_name, state): + super().__init__(state) + self._type_name = type_name + + def list(self): + return { + self._type_name: self._state.get_resources(self._type_name), + } + + def show(self, name): + return self._state.get_resource(self._type_name, name) + + def create(self, body): + return self._state.add_resource( + self._type_name, self.get_resource_name(body), body) + + def get_resource_name(self, resource): # pragma: no cover + raise NotImplementedError() + + def update(self, body, name): + return self._state.update_resource(self._type_name, name, body) + + def delete(self, name): + self._state.remove_resource(self._type_name, name) diff --git a/ick2/controllerapi.py b/ick2/controllerapi.py index 7c54cad..49c972b 100644 --- a/ick2/controllerapi.py +++ b/ick2/controllerapi.py @@ -46,35 +46,7 @@ class ControllerAPI: return routes -class ResourceApiBase(ick2.APIbase): - - def __init__(self, type_name, state): - super().__init__(state) - self._type_name = type_name - - def list(self): - return { - self._type_name: self._state.get_resources(self._type_name), - } - - def show(self, name): - return self._state.get_resource(self._type_name, name) - - def create(self, body): - return self._state.add_resource( - self._type_name, self.get_resource_name(body), body) - - def get_resource_name(self, resource): # pragma: no cover - raise NotImplementedError() - - def update(self, body, name): - return self._state.update_resource(self._type_name, name, body) - - def delete(self, name): - self._state.remove_resource(self._type_name, name) - - -class WorkerAPI(ResourceApiBase): # pragma: no cover +class WorkerAPI(ick2.ResourceApiBase): # pragma: no cover def __init__(self, state): super().__init__('workers', state) @@ -83,7 +55,7 @@ class WorkerAPI(ResourceApiBase): # pragma: no cover return resource['worker'] -class BuildsAPI(ResourceApiBase): # pragma: no cover +class BuildsAPI(ick2.ResourceApiBase): # pragma: no cover def __init__(self, state): super().__init__('builds', state) @@ -105,7 +77,7 @@ class BuildsAPI(ResourceApiBase): # pragma: no cover return result -class LogAPI(ResourceApiBase): # pragma: no cover +class LogAPI(ick2.ResourceApiBase): # pragma: no cover def __init__(self, state): super().__init__('log', state) @@ -125,7 +97,7 @@ class LogAPI(ResourceApiBase): # pragma: no cover return log['log'] -class ProjectAPI(ResourceApiBase): +class ProjectAPI(ick2.ResourceApiBase): def __init__(self, state): super().__init__('projects', state) |