Use decline message also on fallback

In fallback mode the bot would laccept a request on failure. It should also put the failure message in that case.
This commit is contained in:
Ludwig Nussel 2016-06-07 14:41:03 +02:00
parent 51bd96180a
commit d16194caea
2 changed files with 19 additions and 15 deletions

View File

@ -83,9 +83,6 @@ class ReviewBot(object):
def check_requests(self): def check_requests(self):
by_user = self.fallback_user
by_group = self.fallback_group
for req in self.requests: for req in self.requests:
self.logger.debug("checking %s"%req.reqid) self.logger.debug("checking %s"%req.reqid)
good = self.check_one_request(req) good = self.check_one_request(req)
@ -98,28 +95,36 @@ class ReviewBot(object):
if good is None: if good is None:
self.logger.info("%s ignored"%req.reqid) self.logger.info("%s ignored"%req.reqid)
elif good: elif good:
self.logger.info("%s is good"%req.reqid)
self._set_review(req, 'accepted') self._set_review(req, 'accepted')
else: else:
if self.review_mode == 'fallback-onfail': self._set_review(req, 'declined')
self.logger.info("%s needs fallback reviewer"%req.reqid)
self.add_review(req, by_group=by_group, by_user=by_user)
self._set_review(req, 'accepted')
else:
self.logger.info("%s is not acceptable"%req.reqid)
self._set_review(req, 'declined')
def _set_review(self, req, state): def _set_review(self, req, state):
doit = self.can_accept_review(req.reqid) doit = self.can_accept_review(req.reqid)
if doit is None: if doit is None:
self.logger.info("can't change state, %s does not have the reviewer"%(req.reqid)) self.logger.info("can't change state, %s does not have the reviewer"%(req.reqid))
newstate = state
by_user = self.fallback_user
by_group = self.fallback_group
if state == 'declined':
if self.review_mode == 'fallback-onfail':
self.logger.info("%s needs fallback reviewer"%req.reqid)
self.add_review(req, by_group=by_group, by_user=by_user)
newstate = 'accepted'
elif self.review_mode == 'fallback-always':
self.add_review(req, by_group=by_group, by_user=by_user)
self.logger.info("%s %s"%(req.reqid, state))
if doit == True: if doit == True:
self.logger.debug("setting %s to %s"%(req.reqid, state)) self.logger.debug("setting %s to %s"%(req.reqid, state))
if not self.dryrun: if not self.dryrun:
msg = self.review_messages[state] if state in self.review_messages else state msg = self.review_messages[state] if state in self.review_messages else state
osc.core.change_review_state(apiurl = self.apiurl, osc.core.change_review_state(apiurl = self.apiurl,
reqid = req.reqid, newstate = state, reqid = req.reqid, newstate = newstate,
by_group=self.review_group, by_group=self.review_group,
by_user=self.review_user, message=msg) by_user=self.review_user, message=msg)
else: else:

View File

@ -56,7 +56,6 @@ class Leaper(ReviewBot.ReviewBot):
if len(req.actions) != 1: if len(req.actions) != 1:
msg = "only one action per request please" msg = "only one action per request please"
self.review_messages['accepted'] = msg
self.review_messages['declined'] = msg self.review_messages['declined'] = msg
return False return False
@ -77,10 +76,10 @@ class Leaper(ReviewBot.ReviewBot):
if has_upstream_sources != True or has_correct_maintainer != True: if has_upstream_sources != True or has_correct_maintainer != True:
if has_upstream_sources != True: if has_upstream_sources != True:
self.review_messages['accepted'] += '\nOrigin project changed' self.review_messages['declined'] += '\nOrigin project changed'
# shouldn't happen actually # shouldn't happen actually
if has_correct_maintainer != True: if has_correct_maintainer != True:
self.review_messages['accepted'] += '\nMaintainer check failed' self.review_messages['declined'] += '\nMaintainer check failed'
return False return False
return True return True