From 84eca126e13263f00780f126040158d2e323c1ed Mon Sep 17 00:00:00 2001 From: James Graham <j.graham@soton.ac.uk> Date: Wed, 16 Mar 2022 20:16:11 +0000 Subject: [PATCH] feat: add secret flags for output formatting --- pycgtool/__main__.py | 60 ++++++++++++++++++++++++++++++-------------- 1 file changed, 41 insertions(+), 19 deletions(-) diff --git a/pycgtool/__main__.py b/pycgtool/__main__.py index beb36d5..ae46fed 100755 --- a/pycgtool/__main__.py +++ b/pycgtool/__main__.py @@ -228,6 +228,14 @@ def parse_arguments(arg_list): run_options.add_argument('--log-level', default='INFO', choices=('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'), help="Which log messages should be shown?") + + # Secret options + + secret_options = parser.add_argument_group("secret options") + secret_options.add_argument('--curmudgeon', default=False, action='store_true', + help=argparse.SUPPRESS) + secret_options.add_argument('--cow', default=False, action='store_true', + help=argparse.SUPPRESS) # yapf: enable args = parser.parse_args(arg_list) @@ -267,25 +275,39 @@ def main(): start_time = time.time() args = parse_arguments(sys.argv[1:]) - logging.basicConfig(level=args.log_level, - format='%(message)s', - datefmt='[%X]', - handlers=[RichHandler(rich_tracebacks=True)]) - - banner = r""" - _____ _____ _____ _______ ____ ____ _ - | __ \ / ____/ ____|__ __/ __ \ / __ \| | - | |__) | _| | | | __ | | | | | | | | | | - | ___/ | | | | | | |_ | | | | | | | | | | | - | | | |_| | |___| |__| | | | | |__| | |__| | |____ - |_| \__, |\_____\_____| |_| \____/ \____/|______| - __/ | - |___/ - """ # noqa - - logger.info('[bold blue]%s[/]', - textwrap.dedent(banner), - extra={'markup': True}) + if args.curmudgeon: + logging.basicConfig(level=args.log_level) + + else: + logging.basicConfig(level=args.log_level, + format='%(message)s', + datefmt='[%X]', + handlers=[RichHandler(rich_tracebacks=True)]) + + banner = r""" + _____ _____ _____ _______ ____ ____ _ + | __ \ / ____/ ____|__ __/ __ \ / __ \| | + | |__) | _| | | | __ | | | | | | | | | | + | ___/ | | | | | | |_ | | | | | | | | | | | + | | | |_| | |___| |__| | | | | |__| | |__| | |____ + |_| \__, |\_____\_____| |_| \____/ \____/|______| + __/ | + |___/ + """ # noqa + + banner = textwrap.dedent(banner) + if args.cow: + try: + import cowsay + banner = cowsay.cow('PyCGTOOL') + + except ImportError: + pass + + else: + logger.info('[bold blue]%s[/]', + textwrap.dedent(banner), + extra={'markup': True}) logger.info(30 * '-') logger.info('Topology:\t%s', args.topology) -- GitLab