summaryrefslogtreecommitdiff
path: root/ick2/workapi.py
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2017-12-15 18:06:31 +0200
committerLars Wirzenius <liw@liw.fi>2017-12-15 18:06:31 +0200
commit2e02a256f3354d376ff7ee6330c0692a9977ca6e (patch)
tree12355d2e0ea3b78090215a5e9ef29c5a3f924f4c /ick2/workapi.py
parent8f48a41b221df9b872502ff8f2aca0487e127cb7 (diff)
downloadick2-2e02a256f3354d376ff7ee6330c0692a9977ca6e.tar.gz
Refactor: use PipelineInstances class in projectapi.py
Diffstat (limited to 'ick2/workapi.py')
-rw-r--r--ick2/workapi.py30
1 files changed, 12 insertions, 18 deletions
diff --git a/ick2/workapi.py b/ick2/workapi.py
index e0ba1c1..bdde1a5 100644
--- a/ick2/workapi.py
+++ b/ick2/workapi.py
@@ -22,6 +22,7 @@ class WorkAPI(ick2.APIbase):
super().__init__(state)
self._workers = ick2.Workers(state)
self._projects = ick2.Projects(state)
+ self._pinstances = ick2.PipelineInstances(state)
self._type_name = 'work'
def get_routes(self, path): # pragma: no cover
@@ -80,28 +81,21 @@ class WorkAPI(ick2.APIbase):
projects = self._projects.get_projects()
for project in projects:
for name in project['pipelines']:
- pp = self._pipeline_instance_name(project['project'], name)
- try:
- pl = self._state.get_resource('pipeline_instances', pp)
- except ick2.NotFound:
- pass
- else:
- if pl.get('status') == 'triggered':
- pt = self._state.get_resource('pipelines', name)
- return project, pt
+ pl = self._pinstances.get_instance(project['project'], name)
+ if pl.get('status') == 'triggered':
+ pt = self._state.get_resource('pipelines', name)
+ return project, pt
return None, None
- def _pipeline_instance_name(self, project_name, pipeline_name):
- return '{} {}'.format(project_name, pipeline_name)
-
- def _update_pipeline(self, project, pipeline):
- pp = self._pipeline_instance_name(project['project'], pipeline['name'])
+ def _update_pipeline(self, project, pipeline_instance):
+ project_name = project['project']
+ pipeline_name = pipeline_instance['name']
try:
- self._state.get_resource('pipeline_instances', pp)
+ self._pinstances.update_instance(
+ project_name, pipeline_name, pipeline_instance)
except ick2.NotFound: # pragma: no cover
- self._state.add_resource('pipeline_instances', pp, pipeline)
- else:
- self._state.update_resource('pipeline_instances', pp, pipeline)
+ self._pinstances.add_instance(
+ project_name, pipeline_name, pipeline_instance)
def _start_build(self, project, pipeline, worker, build_id):
ick2.log.log('info', msg_text='Starting new build', build_id=build_id)