diff options
author | Julian Berman <Julian@GrayVines.com> | 2020-03-21 18:18:40 -0400 |
---|---|---|
committer | Julian Berman <Julian@GrayVines.com> | 2020-03-21 18:18:40 -0400 |
commit | 2561726af65cea83d5de2768c0801488dcb8f7a0 (patch) | |
tree | 1135974ca515df19c7936eef941432ab6a769945 /jsonschema/cli.py | |
parent | 93815b074d5780bc03bcdb4a45bd4d6b6afea422 (diff) | |
download | jsonschema-2561726af65cea83d5de2768c0801488dcb8f7a0.tar.gz |
Don't even bother keeping the whole list of valid/invalid.
Diffstat (limited to 'jsonschema/cli.py')
-rw-r--r-- | jsonschema/cli.py | 40 |
1 files changed, 18 insertions, 22 deletions
diff --git a/jsonschema/cli.py b/jsonschema/cli.py index 90dd2b3..575d655 100644 --- a/jsonschema/cli.py +++ b/jsonschema/cli.py @@ -202,7 +202,7 @@ def run(arguments, stdout=sys.stdout, stderr=sys.stderr, stdin=sys.stdin): except (IOError, ValueError, SchemaError): return True - invalid = [] + exit_code = 0 if arguments["instances"]: for instance_path in arguments["instances"]: @@ -212,17 +212,15 @@ def run(arguments, stdout=sys.stdout, stderr=sys.stderr, stdin=sys.stdin): stderr.write( formatter.parsing_error(path=instance_path, error=error), ) - invalid.append(True) + exit_code = 1 else: - invalid.append( - _validate_instance( - instance_path=instance_path, - instance=instance, - validator=validator, - formatter=formatter, - stdout=stdout, - stderr=stderr, - ), + exit_code |= _validate_instance( + instance_path=instance_path, + instance=instance, + validator=validator, + formatter=formatter, + stdout=stdout, + stderr=stderr, ) elif ( stdin is sys.stdin and not sys.stdin.isatty() @@ -234,17 +232,15 @@ def run(arguments, stdout=sys.stdout, stderr=sys.stderr, stdin=sys.stdin): stderr.write( formatter.parsing_error(path="<stdin>", error=error), ) - invalid.append(True) + exit_code = 1 else: - invalid.append( - _validate_instance( - instance_path="<stdin>", - instance=instance, - validator=validator, - formatter=formatter, - stdout=stdout, - stderr=stderr, - ), + exit_code |= _validate_instance( + instance_path="<stdin>", + instance=instance, + validator=validator, + formatter=formatter, + stdout=stdout, + stderr=stderr, ) - return any(invalid) + return exit_code |