From 5da03f74b6b89dc0308e557b15338e38cb38bba3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Mon, 24 Mar 2014 15:15:47 +0100 Subject: [PATCH 1/2] Do change project build state when removing packages properly. Progress issue#1783. --- osclib/select_command.py | 9 +-------- osclib/stagingapi.py | 23 ++++++++++++++++------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/osclib/select_command.py b/osclib/select_command.py index b636a056..9dbda0f8 100644 --- a/osclib/select_command.py +++ b/osclib/select_command.py @@ -106,13 +106,6 @@ class SelectCommand(object): return False # now make sure we enable the prj if the prj contains any ringed package - meta = self.api.get_prj_pseudometa(target_project) - staged_requests = list() - for request in meta['requests']: - staged_requests.append(request['id']) - if self.api.check_ring_packages(target_project, staged_requests): - self.api.build_switch_prj(target_project, 'enable') - else: - self.api.build_switch_prj(target_project, 'disable') + self.api.build_switch_staging_project(target_project) return True diff --git a/osclib/stagingapi.py b/osclib/stagingapi.py index 69e94552..866bf293 100644 --- a/osclib/stagingapi.py +++ b/osclib/stagingapi.py @@ -122,15 +122,9 @@ class StagingAPI(object): # Delete the old one self.rm_from_prj(source_project, request_id=req_id, msg='Moved to {}'.format(destination_project)) - return True # Build disable the old project if empty - meta = self.get_prj_pseudometa(source_project) - staged_requests = list() - for request in meta['requests']: - staged_requests.append(request['id']) - if not self.check_ring_packages(source_project, staged_requests): - self.build_switch_prj(source_project, 'disable') + self.build_switch_staging_project(source_project) return True @@ -924,3 +918,18 @@ class StagingAPI(object): return True return False + + def build_switch_staging_project(self, target_project): + """ + Verify what packages are in project and switch the build + accordingly. + :param target_project: project we validate and switch + """ + meta = self.get_prj_pseudometa(target_project) + staged_requests = list() + for request in meta['requests']: + staged_requests.append(request['id']) + if self.check_ring_packages(target_project, staged_requests): + self.build_switch_prj(target_project, 'enable') + else: + self.build_switch_prj(target_project, 'disable') From 19c02128872a2c4c6bc4e80cae6c7c0f33c20f50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Mon, 24 Mar 2014 15:18:25 +0100 Subject: [PATCH 2/2] Use true/false not true/none --- osclib/check_command.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osclib/check_command.py b/osclib/check_command.py index c25e1632..2dceb0ea 100644 --- a/osclib/check_command.py +++ b/osclib/check_command.py @@ -18,7 +18,7 @@ class CheckCommand(object): # If the project is empty just skip it if not state: - return None + return False print('Checking staging project: {}'.format(project)) if type(state) is list: