diff options
Diffstat (limited to 'ick2/state.py')
-rw-r--r-- | ick2/state.py | 25 |
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) |