summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2017-12-15 17:57:04 +0200
committerLars Wirzenius <liw@liw.fi>2017-12-15 17:57:04 +0200
commit4d43122dbf0deb7a143008a1d9ec447392bc17ac (patch)
treed1f55fd77f56d00d77991b7d94b1866bbab8d292
parent645678c71181369dd3edd86f5d90218f4cd4e25a (diff)
downloadick2-4d43122dbf0deb7a143008a1d9ec447392bc17ac.tar.gz
Add: ick2.PipelineInstance
-rw-r--r--ick2/state.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/ick2/state.py b/ick2/state.py
index 811425e..806b2a7 100644
--- a/ick2/state.py
+++ b/ick2/state.py
@@ -118,6 +118,9 @@ class ResourceStore: # pragma: no cover
self._name_field: name,
}
+ def add(self, name, resource):
+ self._state.add_resource(self._category, name, resource)
+
def update(self, resource):
name = resource[self._name_field]
try:
@@ -156,3 +159,18 @@ class PipelineInstances(ResourceStore): # pragma: no cover
def __init__(self, state):
super().__init__(state, 'pipeline_instances', 'name')
+
+ def _name(self, project_name, pipeline_name):
+ return '{} {}'.format(project_name, pipeline_name)
+
+ def get_instance(self, project_name, pipeline_name):
+ name = self._name(project_name, pipeline_name)
+ return self.get(name)
+
+ def add_instance(self, project_name, pipeline_name, instance):
+ name = self._name(project_name, pipeline_name)
+ self.add(name, instance)
+
+ def update_instance(self, project_name, pipeline_name, instance):
+ name = self._name(project_name, pipeline_name)
+ self.add(name, instance)