From bfd3be221e51f9d140c68a40f72ce38ac3aad7ca Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Tue, 31 Jul 2018 16:25:46 +0300 Subject: Change: only create routes once in API --- qvisqve/api.py | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/qvisqve/api.py b/qvisqve/api.py index dfe69d0..0866ae3 100644 --- a/qvisqve/api.py +++ b/qvisqve/api.py @@ -22,25 +22,30 @@ class API: def __init__(self, config): self._config = config self._rs = None + self._routes = None def find_missing_route(self, path): qvisqve.log.log('info', msg_text='find_missing_route', path=path) - routers = [ - qvisqve.VersionRouter(), - qvisqve.TokenRouter( - self._create_token_generator(), self._get_clients()), - qvisqve.LoginRouter(), - qvisqve.AuthRouter(self._get_applications(), self._get_users()), - ] + if self._routes is None: + routers = [ + qvisqve.VersionRouter(), + qvisqve.TokenRouter( + self._create_token_generator(), self._get_clients()), + qvisqve.LoginRouter(), + qvisqve.AuthRouter( + self._get_applications(), self._get_users()), + ] - routes = [] - for router in routers: - routes.extend(router.get_routes()) + self._routes = [] + for router in routers: + self._routes.extend(router.get_routes()) - qvisqve.log.log( - 'debug', msg_text='missing routes created', routes=routes) - return routes + qvisqve.log.log( + 'debug', msg_text='missing routes created', + routes=self._routes) + + return self._routes def _create_token_generator(self): tg = qvisqve.TokenGenerator() -- cgit v1.2.1