CLI: show default values in --help

I think this is a little bit cleaner that duplicating the info about the
default for some of these options.

Change-Id: If218a26ede3e71628f4839b4e505c4f4aa217699
This commit is contained in:
Jan Kundrát
2020-06-10 12:58:02 +02:00
parent f9e0d18a9d
commit 648cc3a8e5

View File

@@ -8,7 +8,7 @@ gnpy.tools.cli_examples
Common code for CLI examples Common code for CLI examples
''' '''
from argparse import ArgumentParser import argparse
from json import dumps from json import dumps
import logging import logging
import os.path import os.path
@@ -83,7 +83,7 @@ def _setup_logging(args):
logging.basicConfig(level={2: logging.DEBUG, 1: logging.INFO, 0: logging.CRITICAL}.get(args.verbose, logging.DEBUG)) logging.basicConfig(level={2: logging.DEBUG, 1: logging.INFO, 0: logging.CRITICAL}.get(args.verbose, logging.DEBUG))
def _add_common_options(parser: ArgumentParser): def _add_common_options(parser: argparse.ArgumentParser):
parser.add_argument('-v', '--verbose', action='count', default=0, parser.add_argument('-v', '--verbose', action='count', default=0,
help='Increase verbosity (can be specified several times)') help='Increase verbosity (can be specified several times)')
parser.add_argument('-e', '--equipment', type=Path, metavar=_help_fname_json, parser.add_argument('-e', '--equipment', type=Path, metavar=_help_fname_json,
@@ -93,9 +93,10 @@ def _add_common_options(parser: ArgumentParser):
def transmission_main_example(args=None): def transmission_main_example(args=None):
parser = ArgumentParser( parser = argparse.ArgumentParser(
description='Send a full spectrum load through the network from point A to point B', description='Send a full spectrum load through the network from point A to point B',
epilog=_help_footer, epilog=_help_footer,
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
) )
_add_common_options(parser) _add_common_options(parser)
parser.add_argument('--sim-params', type=Path, metavar=_help_fname_json, parser.add_argument('--sim-params', type=Path, metavar=_help_fname_json,
@@ -309,9 +310,10 @@ def _path_result_json(pathresult):
def path_requests_run(args=None): def path_requests_run(args=None):
parser = ArgumentParser( parser = argparse.ArgumentParser(
description='Compute performance for a list of services provided in a json file or an excel sheet', description='Compute performance for a list of services provided in a json file or an excel sheet',
epilog=_help_footer, epilog=_help_footer,
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
) )
_add_common_options(parser) _add_common_options(parser)
parser.add_argument('network_filename', nargs='?', type=Path, metavar='NETWORK-TOPOLOGY.(json|xls|xlsx)', parser.add_argument('network_filename', nargs='?', type=Path, metavar='NETWORK-TOPOLOGY.(json|xls|xlsx)',