Merge "Small fixes to script based off of cry-infra"

This commit is contained in:
Joshua Litt 2014-04-07 14:43:56 -07:00 коммит произвёл Gerrit Code Review
Родитель e8c1c95cde 15931a1df2
Коммит 01aae92dcf
1 изменённых файлов: 30 добавлений и 1 удалений

Просмотреть файл

@ -13,16 +13,45 @@ waterfall to gather json results mixed in with gtest logs. This is
dubious software engineering.
"""
import getopt
import json
import os
import re
import sys
def main():
if len(sys.argv) != 3:
print "Expects a file to write json to!"
exit(1)
try:
opts, _ = \
getopt.getopt(sys.argv[1:], \
'o:', ['output-json='])
except getopt.GetOptError:
print 'scrape_gtest_log.py -o <output_json>'
sys.exit(2)
output_json = ''
for opt, arg in opts:
if opt in ('-o', '--output-json'):
output_json = os.path.join(arg)
blob = sys.stdin.read()
json_string = '[' + ','.join('{' + x + '}' for x in
re.findall(r'{([^}]*.?)}', blob)) + ']'
print json.dumps(json.loads(json_string), indent=4, sort_keys=True)
print blob
output = json.dumps(json.loads(json_string), indent=4, sort_keys=True)
print output
path = os.path.dirname(output_json)
if path and not os.path.exists(path):
os.makedirs(path)
outfile = open(output_json, 'w')
outfile.write(output)
if __name__ == '__main__':
sys.exit(main())