From facafb6e2a466162ca1cb872d81960d40cecb2d5 Mon Sep 17 00:00:00 2001 From: rightlag Date: Mon, 7 Aug 2017 22:24:13 -0400 Subject: [PATCH] Add terminal colors to main entry point --- aptos/__main__.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/aptos/__main__.py b/aptos/__main__.py index dbb0da4..198c242 100644 --- a/aptos/__main__.py +++ b/aptos/__main__.py @@ -7,14 +7,25 @@ from .schema.visitor import AvroSchemaVisitor +class TermColors: + + GREEN = '\033[92m' + RED = '\033[91m' + DEFAULT = '\033[0m' + + def validate(arguments): with open(arguments.schema) as fp: schema = json.load(fp) component = SchemaParser.parse(schema) + instance = json.loads(arguments.instance) try: - component.accept(ValidationVisitor(json.loads(arguments.instance))) + component.accept(ValidationVisitor(instance)) except AssertionError as e: - sys.exit('Error: {}'.format(e)) + sys.exit('{}error{} {!r}'.format( + TermColors.RED, TermColors.DEFAULT, e.args[0])) + print('{}success{} instance {!r} is valid against the schema {!r}'.format( + TermColors.GREEN, TermColors.DEFAULT, instance, arguments.schema)) def convert(arguments):