Merge "Small fixes to script based off of cry-infra"
This commit is contained in:
Коммит
01aae92dcf
|
@ -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())
|
||||||
|
|
Загрузка…
Ссылка в новой задаче