Properly support WIP in Gerrit 2.8
Since WIP is just a workflow vote now, the old method of filtering out those patches is no longer working. This change should take care of that. Change-Id: I8a028de992399df324927a4b0c191e7a5b684773
This commit is contained in:
parent
b1c0cdf956
commit
f6a80e3be4
@ -298,7 +298,7 @@ def main(argv=None):
|
||||
continue
|
||||
if not options.stable and 'stable' in change['branch']:
|
||||
continue
|
||||
if change['status'] != 'NEW':
|
||||
if utils.is_workinprogress(change):
|
||||
# Filter out WORKINPROGRESS
|
||||
continue
|
||||
latest_patch = change['patchSets'][-1]
|
||||
|
@ -203,6 +203,31 @@ def patch_set_approved(patch_set):
|
||||
return False
|
||||
|
||||
|
||||
def is_workinprogress(change):
|
||||
"""Return True if the patchset is WIP
|
||||
|
||||
:param dict change: De-serialized dict of a gerrit change
|
||||
|
||||
:return: True if one of the votes on the review sets it to WIP.
|
||||
"""
|
||||
# This indicates WIP for older Gerrit versions
|
||||
if change['status'] != 'NEW':
|
||||
return True
|
||||
|
||||
# Gerrit 2.8 WIP
|
||||
last_patch = change['patchSets'][-1]
|
||||
try:
|
||||
approvals = last_patch['approvals']
|
||||
except KeyError:
|
||||
# Means no one has voted on the latest patch set yet
|
||||
return False
|
||||
for a in approvals:
|
||||
if a['type'] == 'Workflow' and int(a['value']) < 0:
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
||||
def get_age_of_patch(patch, now_ts):
|
||||
"""Compute the number of seconds since the patch submission and now.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user