Index: git_cl.py |
diff --git a/git_cl.py b/git_cl.py |
index 9fcc3b75269b676f0455d4be5ae672a97a682334..de80a9f367aefbf92ee5584df1d61cecce4762e3 100755 |
--- a/git_cl.py |
+++ b/git_cl.py |
@@ -1786,6 +1786,8 @@ def CMDcomments(parser, args): |
help='comment to add to an issue') |
parser.add_option('-i', dest='issue', |
help="review issue id (defaults to current issue)") |
+ parser.add_option('-j', '--json-file', |
+ help='File to write JSON summary to') |
auth.add_auth_options(parser) |
options, args = parser.parse_args(args) |
auth_config = auth.extract_auth_config_from_options(options) |
@@ -1804,11 +1806,21 @@ def CMDcomments(parser, args): |
return 0 |
data = cl.GetIssueProperties() |
+ summary = [] |
for message in sorted(data.get('messages', []), key=lambda x: x['date']): |
+ summary.append({ |
+ 'date': message['date'], |
+ 'lgtm': False, |
+ 'message': message['text'], |
+ 'not_lgtm': False, |
+ 'sender': message['sender'], |
+ }) |
if message['disapproval']: |
color = Fore.RED |
+ summary[-1]['not lgtm'] = True |
elif message['approval']: |
color = Fore.GREEN |
+ summary[-1]['lgtm'] = True |
elif message['sender'] == data['owner_email']: |
color = Fore.MAGENTA |
else: |
@@ -1818,6 +1830,9 @@ def CMDcomments(parser, args): |
Fore.RESET) |
if message['text'].strip(): |
print '\n'.join(' ' + l for l in message['text'].splitlines()) |
+ if options.json_file: |
+ with open(options.json_file, 'wb') as f: |
+ json.dump(summary, f) |
return 0 |