summaryrefslogtreecommitdiff
path: root/ick2/state.py
diff options
context:
space:
mode:
Diffstat (limited to 'ick2/state.py')
-rw-r--r--ick2/state.py25
1 files changed, 23 insertions, 2 deletions
diff --git a/ick2/state.py b/ick2/state.py
index 846b113..40dcfe8 100644
--- a/ick2/state.py
+++ b/ick2/state.py
@@ -105,10 +105,10 @@ class NotFound(Exception):
super().__init__('Resource not found')
-class WrongPipelineStatus(Exception): # pragma: no cover
+class WrongProjectStatus(Exception): # pragma: no cover
def __init__(self, new_state):
- super().__init__('Cannot set pipeline state to {}'.format(new_state))
+ super().__init__('Cannot set project state to {}'.format(new_state))
class ResourceStore: # pragma: no cover
@@ -202,3 +202,24 @@ class PipelineInstances(ResourceStore): # pragma: no cover
def update_instance(self, project_name, pipeline_name, instance):
name = self._name(project_name, pipeline_name)
self.add(name, instance)
+
+
+class ProjectStatus(ResourceStore): # pragma: no cover
+
+ def __init__(self, state):
+ super().__init__(state, 'project_status', 'project')
+
+ def _name(self, project_name):
+ return project_name
+
+ def get_instance(self, project_name):
+ name = self._name(project_name)
+ return self.get(name)
+
+ def add_instance(self, project_name, instance):
+ name = self._name(project_name)
+ self.add(name, instance)
+
+ def update_instance(self, project_name, instance):
+ name = self._name(project_name)
+ self.add(name, instance)