From b01b7d529af4d543a2d867a484906d6478463932 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 22 Nov 2019 13:21:06 +0100 Subject: [PATCH] Move accept logic into accept_command --- osc-staging.py | 14 +------------- osclib/accept_command.py | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/osc-staging.py b/osc-staging.py index c0036a65..fb2ccf4e 100644 --- a/osc-staging.py +++ b/osc-staging.py @@ -420,19 +420,7 @@ def do_staging(self, subcmd, opts, *args): api.days_since_last_freeze(prj))) elif cmd == 'accept': cmd = AcceptCommand(api) - for prj in args[1:]: - if cmd.perform(api.prj_from_letter(prj), opts.force): - cmd.reset_rebuild_data(prj) - else: - return - if not opts.no_cleanup: - if api.item_exists(api.prj_from_letter(prj)): - cmd.cleanup(api.prj_from_letter(prj)) - cmd.accept_other_new() - if opts.project.startswith('openSUSE:'): - cmd.update_factory_version() - if api.item_exists(api.crebuild): - cmd.sync_buildfailures() + cmd.accept_all(args[1:], opts.force, not opts.no_cleanup) elif cmd == 'unselect': UnselectCommand(api).perform(args[1:], opts.cleanup, opts.message) elif cmd == 'select': diff --git a/osclib/accept_command.py b/osclib/accept_command.py index 4b589692..18de1f8f 100644 --- a/osclib/accept_command.py +++ b/osclib/accept_command.py @@ -55,12 +55,27 @@ class AcceptCommand(object): stg.find('rebuild').text = 'unknown' stg.find('supportpkg').text = '' - # reset accpted staging project rebuild state to unknown and clean up + # reset accepted staging project rebuild state to unknown and clean up # supportpkg list content = ET.tostring(root) if content != data: self.api.pseudometa_file_save('support_pkg_rebuild', content, 'accept command update') + def accept_all(self, projects, force=False, cleanup=True): + for prj in projects: + if self.perform(self.api.prj_from_letter(prj), force): + self.reset_rebuild_data(prj) + else: + return + if cleanup: + if self.api.item_exists(self.api.prj_from_letter(prj)): + self.cleanup(self.api.prj_from_letter(prj)) + self.accept_other_new() + if self.api.project.startswith('openSUSE:'): + self.update_factory_version() + if self.api.item_exists(self.api.crebuild): + self.sync_buildfailures() + def perform(self, project, force=False): """Accept the staging project for review and submit to Factory / Leap ...