Skip to content

Commit

Permalink
Merge pull request #2987 from dcermak/fix-review-mode
Browse files Browse the repository at this point in the history
Fix review_mode being set from a str and not from the enum
  • Loading branch information
Vogtinator committed Jul 11, 2023
2 parents 395857d + a4f7240 commit 3bf8fdf
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions ReviewBot.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,10 +169,11 @@ def review_mode(self) -> ReviewChoices:
return self._review_mode

@review_mode.setter
def review_mode(self, value: ReviewChoices):
if value not in self.REVIEW_CHOICES:
raise ValueError("invalid review option: %s" % value)
self._review_mode = value
def review_mode(self, value: Union[ReviewChoices, str]) -> None:
val = ReviewChoices(value)
if val not in self.REVIEW_CHOICES:
raise ValueError("invalid review option: %s" % val)
self._review_mode = val

def set_request_ids(self, ids):
for rqid in ids:
Expand Down Expand Up @@ -218,16 +219,16 @@ def check_requests(self):
traceback.print_exc()
return_value = 1

if self.review_mode == 'no':
if self.review_mode == ReviewChoices.NO:
good = None
elif self.review_mode == 'accept':
elif self.review_mode == ReviewChoices.ACCEPT:
good = True

if good is None:
self.logger.info("%s ignored" % req.reqid)
elif good:
self._set_review(req, 'accepted')
elif self.review_mode != 'accept-onpass':
elif self.review_mode != ReviewChoices.ACCEPT_ONPASS:
self._set_review(req, 'declined')

return return_value
Expand Down Expand Up @@ -295,12 +296,12 @@ def _set_review(self, req, state):
self.logger.info("%s %s: %s" % (req.reqid, state, msg))

if state == 'declined':
if self.review_mode == 'fallback-onfail':
if self.review_mode == ReviewChoices.FALLBACK_ONFAIL:
self.logger.info("%s needs fallback reviewer" % req.reqid)
self.add_review(req, by_group=by_group, by_user=by_user,
msg="Automated review failed. Needs fallback reviewer.")
newstate = 'accepted'
elif self.review_mode == 'fallback-always':
elif self.review_mode == ReviewChoices.FALLBACK_ALWAYS:
self.add_review(req, by_group=by_group, by_user=by_user, msg='Adding fallback reviewer')

if doit:
Expand Down Expand Up @@ -875,7 +876,7 @@ def get_optparser(self):
parser.add_option("--debug", action="store_true", help="debug output")
parser.add_option("--osc-debug", action="store_true", help="osc debug output")
parser.add_option("--verbose", action="store_true", help="verbose")
parser.add_option("--review-mode", dest='review_mode', choices=ReviewBot.REVIEW_CHOICES, help="review behavior")
parser.add_option("--review-mode", dest='review_mode', choices=[c.value for c in ReviewBot.REVIEW_CHOICES], help="review behavior")
parser.add_option("--fallback-user", dest='fallback_user', metavar='USER', help="fallback review user")
parser.add_option("--fallback-group", dest='fallback_group', metavar='GROUP', help="fallback review group")
parser.add_option('-c', '--config', dest='config', metavar='FILE', help='read config file FILE')
Expand Down

0 comments on commit 3bf8fdf

Please sign in to comment.