diff options
author | Lars Wirzenius <liw@liw.fi> | 2018-02-07 18:54:13 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2018-02-09 19:11:02 +0200 |
commit | 5cf3781ad4beddfab5aa7181c0990a5462ffe06f (patch) | |
tree | a50a769bc8b6cc7e31f28466002c7dc15f2433b4 /ick2/controllerapi.py | |
parent | 4b6fd81e121935f60f29b8314bc7c44726bf6fd7 (diff) | |
download | ick2-5cf3781ad4beddfab5aa7181c0990a5462ffe06f.tar.gz |
Change: make all .service units be conditional on config
If the config file is missing, the unit won't start.
Diffstat (limited to 'ick2/controllerapi.py')
-rw-r--r-- | ick2/controllerapi.py | 19 |
1 files changed, 16 insertions, 3 deletions
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 |