Clean up gerrit_util's handling of unknown reviewer/cc

This is still important, but at least now it won't result
in a stacktrace.

Change-Id: If6e7e15a98b0a03df7e978201762fea670312ede
Reviewed-on: https://chromium-review.googlesource.com/408660
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
changes/60/408660/3
Aaron Gable 9 years ago committed by Commit Bot
parent 600d9dfd1a
commit df86e30194

@ -621,19 +621,28 @@ def GetReview(host, change, revision):
def AddReviewers(host, change, add=None, is_reviewer=True): def AddReviewers(host, change, add=None, is_reviewer=True):
"""Add reviewers to a change.""" """Add reviewers to a change."""
errors = None
if not add: if not add:
return return None
if isinstance(add, basestring): if isinstance(add, basestring):
add = (add,) add = (add,)
path = 'changes/%s/reviewers' % change path = 'changes/%s/reviewers' % change
for r in add: for r in add:
state = 'REVIEWER' if is_reviewer else 'CC'
body = { body = {
'reviewer': r, 'reviewer': r,
'state': 'REVIEWER' if is_reviewer else 'CC', 'state': state,
} }
conn = CreateHttpConn(host, path, reqtype='POST', body=body) try:
jmsg = ReadHttpJsonResponse(conn, ignore_404=False) conn = CreateHttpConn(host, path, reqtype='POST', body=body)
return jmsg _ = ReadHttpJsonResponse(conn, ignore_404=False)
except GerritError as e:
if e.http_status == 422: # "Unprocessable Entity"
LOGGER.warn('Failed to add "%s" as a %s' % (r, state.lower()))
errors = True
else:
raise
return errors
def RemoveReviewers(host, change, remove=None): def RemoveReviewers(host, change, remove=None):

@ -2842,8 +2842,10 @@ class _GerritChangelistImpl(_ChangelistCodereviewBase):
if change_desc.get_cced(): if change_desc.get_cced():
cc.extend(change_desc.get_cced()) cc.extend(change_desc.get_cced())
if cc: if cc:
gerrit_util.AddReviewers( errors = gerrit_util.AddReviewers(
self._GetGerritHost(), self.GetIssue(), cc, is_reviewer=False) self._GetGerritHost(), self.GetIssue(), cc, is_reviewer=False)
if errors:
return 1
return 0 return 0

Loading…
Cancel
Save