summaryrefslogtreecommitdiff
path: root/ick2/__init__.py
diff options
context:
space:
mode:
authorLars Wirzenius <liw@exolobe1>2018-05-13 15:30:23 +0300
committerLars Wirzenius <liw@liw.fi>2018-05-17 21:44:59 +0300
commitb11d31ef23c5dfee6bfa54afbec47fc8b8bab7b1 (patch)
tree2e6b085f8fb023d53c8ac20a97aef2c7d1c11d4b /ick2/__init__.py
parent531dd2c50bfdfcf50bb37f57cf9fc2b69787adcf (diff)
downloadick2-b11d31ef23c5dfee6bfa54afbec47fc8b8bab7b1.tar.gz
Change: how controller stores persistent data
Replace old State class with new FilePersistentState and TransactionalState classes. Use new Resource class instead of raw dicts. Use context managers for creating, updating resources, to avoid mistakes from accidentally not saving changes. Overall persistence should now be rather simpler. This should open up a possibility for changing the controller to insert more actions into the build graph, to trigger notifcations via the workers.
Diffstat (limited to 'ick2/__init__.py')
-rw-r--r--ick2/__init__.py12
1 files changed, 5 insertions, 7 deletions
diff --git a/ick2/__init__.py b/ick2/__init__.py
index f212946..18615a4 100644
--- a/ick2/__init__.py
+++ b/ick2/__init__.py
@@ -15,15 +15,13 @@
from .version import __version__, __version_info__
from .logging import setup_logging, log
-from .state import (
- ControllerState,
+from .persistent import (
+ FilePersistentState,
NotFound,
- WrongProjectStatus,
- Workers,
- Projects,
- ProjectStatus,
- Builds,
+ Resource,
+ resource_from_dict,
)
+from .trans import TransactionalState
from .exceptions import (
BadUpdate,
ExistsAlready,