diff options
author | Lars Wirzenius <liw@liw.fi> | 2017-12-15 18:06:31 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2017-12-15 18:06:31 +0200 |
commit | 2e02a256f3354d376ff7ee6330c0692a9977ca6e (patch) | |
tree | 12355d2e0ea3b78090215a5e9ef29c5a3f924f4c /ick2/workapi.py | |
parent | 8f48a41b221df9b872502ff8f2aca0487e127cb7 (diff) | |
download | ick2-2e02a256f3354d376ff7ee6330c0692a9977ca6e.tar.gz |
Refactor: use PipelineInstances class in projectapi.py
Diffstat (limited to 'ick2/workapi.py')
-rw-r--r-- | ick2/workapi.py | 30 |
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) |