Move accept logic into accept_command

This commit is contained in:
Stephan Kulow 2019-11-22 13:21:06 +01:00
parent 9008d7e265
commit b01b7d529a
2 changed files with 17 additions and 14 deletions

View File

@ -420,19 +420,7 @@ def do_staging(self, subcmd, opts, *args):
api.days_since_last_freeze(prj))) api.days_since_last_freeze(prj)))
elif cmd == 'accept': elif cmd == 'accept':
cmd = AcceptCommand(api) cmd = AcceptCommand(api)
for prj in args[1:]: cmd.accept_all(args[1:], opts.force, not opts.no_cleanup)
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()
elif cmd == 'unselect': elif cmd == 'unselect':
UnselectCommand(api).perform(args[1:], opts.cleanup, opts.message) UnselectCommand(api).perform(args[1:], opts.cleanup, opts.message)
elif cmd == 'select': elif cmd == 'select':

View File

@ -55,12 +55,27 @@ class AcceptCommand(object):
stg.find('rebuild').text = 'unknown' stg.find('rebuild').text = 'unknown'
stg.find('supportpkg').text = '' 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 # supportpkg list
content = ET.tostring(root) content = ET.tostring(root)
if content != data: if content != data:
self.api.pseudometa_file_save('support_pkg_rebuild', content, 'accept command update') 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): def perform(self, project, force=False):
"""Accept the staging project for review and submit to Factory / """Accept the staging project for review and submit to Factory /
Leap ... Leap ...