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, 21 insertions, 4 deletions
diff --git a/ick2/state.py b/ick2/state.py
index 806b2a7..3a985a8 100644
--- a/ick2/state.py
+++ b/ick2/state.py
@@ -40,9 +40,9 @@ class ControllerState:
def get_resource_directory(self, type_name):
return os.path.join(self.get_state_directory(), type_name)
- def get_resource_filename(self, type_name, project_name):
- return os.path.join(
- self.get_resource_directory(type_name), project_name + '.yaml')
+ def get_resource_filename(self, type_name, resource_name):
+ dirname = self.get_resource_directory(type_name)
+ return os.path.join(dirname, resource_name + '.yaml')
def load_resources(self, type_name):
assert self._statedir is not None
@@ -107,10 +107,14 @@ class ResourceStore: # pragma: no cover
self._category = category
self._name_field = name_field
+ def get_resource_name(self, name):
+ return str(name)
+
def list(self):
return self._state.get_resources(self._category)
def get(self, name):
+ name = self.get_resource_name(name)
try:
return self._state.get_resource(self._category, name)
except ick2.NotFound:
@@ -119,10 +123,11 @@ class ResourceStore: # pragma: no cover
}
def add(self, name, resource):
+ name = self.get_resource_name(name)
self._state.add_resource(self._category, name, resource)
def update(self, resource):
- name = resource[self._name_field]
+ name = self.get_resource_name(resource[self._name_field])
try:
self._state.get_resource(self._category, name)
except ick2.NotFound:
@@ -155,6 +160,18 @@ class Projects(ResourceStore): # pragma: no cover
self.update(project)
+class Builds(ResourceStore): # pragma: no cover
+
+ def __init__(self, state):
+ super().__init__(state, 'builds', 'build_id')
+
+ def get_builds(self):
+ return self.list()
+
+ def update_build(self, build):
+ self.update(build)
+
+
class PipelineInstances(ResourceStore): # pragma: no cover
def __init__(self, state):