Skip to content

Instantly share code, notes, and snippets.

@bminard
Last active November 12, 2015 00:36
Show Gist options
  • Save bminard/763d3159f846dbecced1 to your computer and use it in GitHub Desktop.
Save bminard/763d3159f846dbecced1 to your computer and use it in GitHub Desktop.
Review Board RBTools Example
time_from, time_to = process_command_line()
client = RBClient(sys.argv[len(sys.argv) - 1])
try:
root = client.get_root()
except ServerInterfaceError as err:
error(err)
sys.exit(1)
at_most = 25 # enforce max results to enable cleaner presentation layer logic
if None == time_from:
if None == time_to:
requests = root.get_review_requests(max_results=at_most)
else:
requests = root.get_review_requests(max_results=at_most, time_added_to=time_to)
elif None == time_to:
requests = root.get_review_requests(max_results=at_most, time_added_from=time_from)
else:
requests = root.get_review_requests(max_results=at_most, time_added_from=time_from, time_added_to=time_to)
total_results = requests.total_results
counter = 0
while True:
for r in range(0, min(at_most, total_results - counter)):
counter += 1
print requests[r].absolute_url
for diff in requests[r].get_diffs():
print '\tDiff: {}'.format(diff.id)
for file in diff.get_files():
print '\t\t', file.source_file
done = True
for link in requests.links.iteritems():
if 'next' == link[0]:
done = False
requests = requests.get_next()
if done:
break
assert counter == total_results, "expected {}, got {}".format(total_results, counter)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment