src.dualinventive.com/fw/libdi_fw-tests/libdi/tests/scripts/json_validator.py

44 lines
782 B
Python
Executable File

#!/usr/bin/env python2.7
import os
import sys
import glob
import json
import argparse
failed = False
parser = argparse.ArgumentParser(description='JSON validator')
parser.add_argument('filename', metavar="FILE | DIR", default=".")
def test_file(filename):
global failed
fd = open(filename)
try:
data = json.load(fd)
except ValueError, e:
sys.stdout.write('[fail] ' + filename + '\n')
failed=True
else:
sys.stdout.write('[pass] ' + filename + '\n')
fd.close()
def test_dir(path):
files = glob.glob(path + '/*.json')
for f in files:
test_file(f)
if __name__ == "__main__":
args = parser.parse_args()
if not args:
parser.print_help()
if os.path.isdir(args.filename):
test_dir(args.filename)
else:
test_file(args.filename)
if failed:
sys.exit(1)