Index: presubmit_canned_checks.py |
diff --git a/presubmit_canned_checks.py b/presubmit_canned_checks.py |
index 1e16d8fffba2a70c69c75de569b37e9b8d0edbd7..e21d08675f27849a0a40a1a580908a36b2826d3e 100644 |
--- a/presubmit_canned_checks.py |
+++ b/presubmit_canned_checks.py |
@@ -875,7 +875,8 @@ |
input_api.change.AffectedFiles(file_filter=source_file_filter)]) |
owners_db = input_api.owners_db |
- owner_email, reviewers = _CodereviewOwnersAndReviewers( |
+ # TODO(tandrii): this will always return None, set() in case of Gerrit. |
+ owner_email, reviewers = _RietveldOwnerAndReviewers( |
input_api, |
owners_db.email_regexp, |
approval_needed=input_api.is_committing) |
@@ -904,26 +905,6 @@ |
return [output('Missing LGTM from someone other than %s' % owner_email)] |
return [] |
-def _CodereviewOwnersAndReviewers(input_api, email_regexp, approval_needed): |
- """Return the owner and reviewers of a change, if any. |
- |
- If approval_needed is True, only reviewers who have approved the change |
- will be returned. |
- """ |
- if input_api.change.issue: |
- if input_api.gerrit: |
- res = _GerritOwnerAndReviewers(input_api, email_regexp, approval_needed) |
- else: |
- # Rietveld is default. |
- res = _RietveldOwnerAndReviewers(input_api, email_regexp, approval_needed) |
- if res: |
- return res |
- |
- reviewers = set() |
- if not approval_needed: |
- reviewers = _ReviewersFromChange(input_api.change) |
- return None, reviewers |
- |
def _GetRietveldIssueProps(input_api, messages): |
"""Gets the issue properties from rietveld.""" |
@@ -945,49 +926,33 @@ |
return set(reviewer for reviewer in reviewers if '@' in reviewer) |
-def _match_reviewer_email(r, owner_email, email_regexp): |
- return email_regexp.match(r) and r != owner_email |
- |
def _RietveldOwnerAndReviewers(input_api, email_regexp, approval_needed=False): |
"""Return the owner and reviewers of a change, if any. |
If approval_needed is True, only reviewers who have approved the change |
will be returned. |
- Returns None if can't fetch issue properties from codereview. |
""" |
issue_props = _GetRietveldIssueProps(input_api, True) |
if not issue_props: |
- return None |
+ reviewers = set() |
+ if not approval_needed: |
+ reviewers = _ReviewersFromChange(input_api.change) |
+ return None, reviewers |
if not approval_needed: |
return issue_props['owner_email'], set(issue_props['reviewers']) |
owner_email = issue_props['owner_email'] |
+ |
+ def match_reviewer(r): |
+ return email_regexp.match(r) and r != owner_email |
messages = issue_props.get('messages', []) |
approvers = set( |
m['sender'] for m in messages |
- if m.get('approval') and _match_reviewer_email(m['sender'], owner_email, |
- email_regexp)) |
+ if m.get('approval') and match_reviewer(m['sender'])) |
+ |
return owner_email, approvers |
- |
- |
-def _GerritOwnerAndReviewers(input_api, email_regexp, approval_needed=False): |
- """Return the owner and reviewers of a change, if any. |
- |
- If approval_needed is True, only reviewers who have approved the change |
- will be returned. |
- Returns None if can't fetch issue properties from codereview. |
- """ |
- issue = input_api.change.issue |
- if not issue: |
- return None |
- |
- owner_email = input_api.gerrit.GetChangeOwner(issue) |
- reviewers = set( |
- r for r in input_api.gerrit.GetChangeReviewers(issue, approval_needed) |
- if _match_reviewer_email(r, owner_email, email_regexp)) |
- return owner_email, reviewers |
def _CheckConstNSObject(input_api, output_api, source_file_filter): |