protect against missing labels on reviews
Do not fail if gerrit does not report any Workflow or Code-Review data. Change-Id: I1e7fdc901db70766c3febb55263c1dac62c31676 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
parent
e392142765
commit
161b6e9be6
@ -121,28 +121,33 @@ class Review:
|
||||
|
||||
@property
|
||||
def reviewers(self):
|
||||
for label in self._data['labels']['Code-Review']['all']:
|
||||
if label['value'] not in (2, -1):
|
||||
# Only report reviewers with negative reviews or
|
||||
# approvals to avoid counting anyone who is just
|
||||
# leaving lots of +1 votes without actually providing
|
||||
# feedback.
|
||||
continue
|
||||
yield Participant(
|
||||
'reviewer',
|
||||
label['name'],
|
||||
label['email'],
|
||||
_to_datetime(label['date']),
|
||||
)
|
||||
for label in self._data['labels']['Workflow']['all']:
|
||||
if label.get('value', 0) != 1:
|
||||
continue
|
||||
yield Participant(
|
||||
'approver',
|
||||
label['name'],
|
||||
label['email'],
|
||||
_to_datetime(label['date']),
|
||||
)
|
||||
labels = self._data['labels']
|
||||
|
||||
if 'Code-Review' in labels:
|
||||
for label in labels['Code-Review']['all']:
|
||||
if label['value'] not in (2, -1):
|
||||
# Only report reviewers with negative reviews or
|
||||
# approvals to avoid counting anyone who is just
|
||||
# leaving lots of +1 votes without actually providing
|
||||
# feedback.
|
||||
continue
|
||||
yield Participant(
|
||||
'reviewer',
|
||||
label['name'],
|
||||
label['email'],
|
||||
_to_datetime(label['date']),
|
||||
)
|
||||
|
||||
if 'Workflow' in labels:
|
||||
for label in labels['Workflow']['all']:
|
||||
if label.get('value', 0) != 1:
|
||||
continue
|
||||
yield Participant(
|
||||
'approver',
|
||||
label['name'],
|
||||
label['email'],
|
||||
_to_datetime(label['date']),
|
||||
)
|
||||
|
||||
|
||||
def cache_review(review_id, data, cache):
|
||||
|
Loading…
Reference in New Issue
Block a user