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. dubious software engineering.
""" """
import getopt
import json import json
import os
import re import re
import sys import sys
def main(): 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() blob = sys.stdin.read()
json_string = '[' + ','.join('{' + x + '}' for x in json_string = '[' + ','.join('{' + x + '}' for x in
re.findall(r'{([^}]*.?)}', blob)) + ']' 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__': if __name__ == '__main__':
sys.exit(main()) sys.exit(main())