from __future__ import print_function | |
import argparse | |
import io | |
import json | |
import sys | |
def check_json(argv=None): | |
parser = argparse.ArgumentParser() | |
parser.add_argument('filenames', nargs='*', help='JSON filenames to check.') | |
args = parser.parse_args(argv) | |
retval = 0 | |
for filename in args.filenames: | |
try: | |
json.load(io.open(filename, encoding='UTF-8')) | |
except (ValueError, UnicodeDecodeError) as exc: | |
print('{}: Failed to json decode ({})'.format(filename, exc)) | |
retval = 1 | |
return retval | |
if __name__ == '__main__': | |
sys.exit(check_json()) |