From 9228f5020473320673bb2f6209643ccfaee27766 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 15 Oct 2017 17:49:34 +0300 Subject: Refactor: rename callback methods to be clearer --- ick2/controllerapi.py | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'ick2/controllerapi.py') diff --git a/ick2/controllerapi.py b/ick2/controllerapi.py index 1e7c488..4ed14c1 100644 --- a/ick2/controllerapi.py +++ b/ick2/controllerapi.py @@ -43,34 +43,34 @@ class ControllerAPI: { 'method': 'POST', 'path': '/projects', - 'callback': self.post_callback(self.post_projects), + 'callback': self.POST(self.post_projects), }, { 'method': 'GET', 'path': '/projects', - 'callback': self.get_callback(self.get_projects), + 'callback': self.GET(self.get_projects), }, { 'method': 'GET', 'path': '/projects/', - 'callback': self.get_callback(self.get_project), + 'callback': self.GET(self.get_project), }, { 'method': 'PUT', 'path': '/projects/', - 'callback': self.put_callback(self.put_projects), + 'callback': self.PUT(self.put_projects), }, { 'method': 'DELETE', 'path': '/projects/', - 'callback': self.get_callback(self.delete_projects), + 'callback': self.DELETE(self.delete_projects), }, ] def get_version(self, *args, **kwargs): return OK({'version': ick2.__version__}) - def get_callback(self, callback): # pragma: no cover + def GET(self, callback): # pragma: no cover def wrapper(content_type, body, **kwargs): try: if 'raw_uri_path' in kwargs: @@ -81,14 +81,14 @@ class ControllerAPI: return OK(body) return wrapper - def post_callback(self, callback): # pragma: no cover + def POST(self, callback): # pragma: no cover def wrapper(content_type, body, **kwargs): body = callback(body) ick2.log.log('trace', msg_text='returned body', body=repr(body)) return created(body) return wrapper - def put_callback(self, callback): # pragma: no cover + def PUT(self, callback): # pragma: no cover def wrapper(content_type, body, **kwargs): if 'raw_uri_path' in kwargs: del kwargs['raw_uri_path'] @@ -97,6 +97,17 @@ class ControllerAPI: return OK(body) return wrapper + def DELETE(self, callback): # pragma: no cover + def wrapper(content_type, body, **kwargs): + try: + if 'raw_uri_path' in kwargs: + del kwargs['raw_uri_path'] + body = callback(**kwargs) + except ick2.NotFound as e: + return not_found(e) + return OK(body) + return wrapper + def get_projects(self): return { 'projects': self._state.get_projects(), -- cgit v1.2.1