From 5cf3781ad4beddfab5aa7181c0990a5462ffe06f Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Wed, 7 Feb 2018 18:54:13 +0200 Subject: Change: make all .service units be conditional on config If the config file is missing, the unit won't start. --- ick2/controllerapi.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'ick2/controllerapi.py') diff --git a/ick2/controllerapi.py b/ick2/controllerapi.py index fe28c29..074fa2e 100644 --- a/ick2/controllerapi.py +++ b/ick2/controllerapi.py @@ -1,4 +1,4 @@ -# Copyright (C) 2017 Lars Wirzenius +# Copyright (C) 2017-2018 Lars Wirzenius # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or @@ -20,6 +20,16 @@ class ControllerAPI: def __init__(self, state): self._state = state + self._apis = {} + + def set_blob_service_url(self, url): # pragma: no cover + self.find_missing_route('/version') + api = self._apis.get('/version') + if api: + api.set_blob_service_url(url) + ick2.log.log( + 'info', msg_text='Set blob service url', url=url, + version=api.get_version()) def find_missing_route(self, missing_path): # pragma: no cover apis = { @@ -32,10 +42,13 @@ class ControllerAPI: '/workers': ick2.WorkerAPI, } - routes = [] for path in apis: + if path not in self._apis: + self._apis[path] = apis[path](self._state) + + routes = [] + for path, api in self._apis.items(): self._state.load_resources(path[1:]) - api = apis[path](self._state) routes.extend(api.get_routes(path)) ick2.log.log('info', msg_texg='Found routes', routes=routes) return routes -- cgit v1.2.1