diff options
author | Lars Wirzenius <liw@liw.fi> | 2017-12-15 17:14:43 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2017-12-15 17:14:43 +0200 |
commit | bc1eb6165749d3ff8ed1846c37673cfed56ad9e9 (patch) | |
tree | a0ea343aeb0f6142f58f1ba85284a6a9774374eb | |
parent | 4cb311fe68585f3286e7ec013e1c82c242d9310d (diff) | |
download | ick2-bc1eb6165749d3ff8ed1846c37673cfed56ad9e9.tar.gz |
Refactor: give ControllerAPI the state object to use
It's cleaner than having ControllerAPI create it itself. Less coupling.
-rw-r--r-- | ick2/controllerapi.py | 10 | ||||
-rw-r--r-- | ick2/controllerapi_tests.py | 16 | ||||
-rw-r--r-- | ick_controller.py | 9 | ||||
-rw-r--r-- | pylint.conf | 1 |
4 files changed, 12 insertions, 24 deletions
diff --git a/ick2/controllerapi.py b/ick2/controllerapi.py index 1ef71cc..fe28c29 100644 --- a/ick2/controllerapi.py +++ b/ick2/controllerapi.py @@ -18,14 +18,8 @@ import ick2 class ControllerAPI: - def __init__(self): - self._state = ick2.ControllerState() - - def get_state_directory(self): - return self._state.get_state_directory() - - def set_state_directory(self, dirname): - self._state.set_state_directory(dirname) + def __init__(self, state): + self._state = state def find_missing_route(self, missing_path): # pragma: no cover apis = { diff --git a/ick2/controllerapi_tests.py b/ick2/controllerapi_tests.py index bb24e4a..89c553f 100644 --- a/ick2/controllerapi_tests.py +++ b/ick2/controllerapi_tests.py @@ -32,17 +32,11 @@ class ControllerAPITests(unittest.TestCase): shutil.rmtree(self.tempdir) def create_api(self): - api = ick2.ControllerAPI() - api.set_state_directory(self.statedir) + state = ick2.ControllerState() + state.set_state_directory(self.statedir) + api = ick2.ControllerAPI(state) return api - def test_has_no_state_directory_initially(self): - api = ick2.ControllerAPI() - statedir = api.get_state_directory() - self.assertTrue(statedir is None) - def test_sets_and_creates_state_directory(self): - api = self.create_api() - statedir = api.get_state_directory() - self.assertEqual(statedir, self.statedir) - self.assertTrue(os.path.exists(statedir)) + self.create_api() + self.assertTrue(os.path.exists(self.statedir)) diff --git a/ick_controller.py b/ick_controller.py index 7c611a8..85c0bca 100644 --- a/ick_controller.py +++ b/ick_controller.py @@ -89,12 +89,11 @@ def main(): ick2.log.log('info', msg_text='Ick2 controller starts', config=config) - api = ick2.ControllerAPI() - ick2.log.log('info', msg_text='created ControllerAPI') + state = ick2.ControllerState() + state.set_state_directory(config['statedir']) - api.set_state_directory(config['statedir']) - ick2.log.log( - 'info', msg_text='called ControllerAPI.set_state_directory') + api = ick2.ControllerAPI(state) + ick2.log.log('info', msg_text='created ControllerAPI') application = apifw.create_bottle_application( api, counter, dict_logger, config) diff --git a/pylint.conf b/pylint.conf index 3434ccd..1871f36 100644 --- a/pylint.conf +++ b/pylint.conf @@ -7,6 +7,7 @@ disable= missing-docstring, no-self-use, not-callable, + too-few-public-methods, unused-argument [REPORTS] |