You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.3 KiB
48 lines
1.3 KiB
7 years ago
|
"""Contains common utility functions."""
|
||
|
from __future__ import absolute_import
|
||
|
from __future__ import division
|
||
|
from __future__ import print_function
|
||
|
|
||
|
import distutils.util
|
||
|
|
||
|
|
||
|
def print_arguments(args):
|
||
|
"""Print argparse's arguments.
|
||
|
|
||
|
Usage:
|
||
|
|
||
|
.. code-block:: python
|
||
|
|
||
|
parser = argparse.ArgumentParser()
|
||
|
parser.add_argument("name", default="Jonh", type=str, help="User name.")
|
||
|
args = parser.parse_args()
|
||
|
print_arguments(args)
|
||
|
|
||
|
:param args: Input argparse.Namespace for printing.
|
||
|
:type args: argparse.Namespace
|
||
|
"""
|
||
|
print("----------- Configuration Arguments -----------")
|
||
|
for arg, value in sorted(vars(args).iteritems()):
|
||
|
print("%s: %s" % (arg, value))
|
||
|
print("------------------------------------------------")
|
||
|
|
||
|
|
||
|
def add_arguments(argname, type, default, help, argparser, **kwargs):
|
||
|
"""Add argparse's argument.
|
||
|
|
||
|
Usage:
|
||
|
|
||
|
.. code-block:: python
|
||
|
|
||
|
parser = argparse.ArgumentParser()
|
||
|
add_argument("name", str, "Jonh", "User name.", parser)
|
||
|
args = parser.parse_args()
|
||
|
"""
|
||
|
type = distutils.util.strtobool if type == bool else type
|
||
|
argparser.add_argument(
|
||
|
"--" + argname,
|
||
|
default=default,
|
||
|
type=type,
|
||
|
help=help + ' Default: %(default)s.',
|
||
|
**kwargs)
|