#!/usr/bin/env python3 import os import inspect from textwrap import dedent from .print_msg import print_info_msg from .environment import import_vars def print_input_args(valid_args): """Prints function arguments for debugging purposes Args: valid_args: dictionary of arg-value pairs Returns: Number of printed arguments """ # get verbosity from environment IMPORTS = ["DEBUG"] import_vars(env_vars=IMPORTS) if list(valid_args.keys())[0] == "__unset__": valid_arg_names = {} else: valid_arg_names = valid_args num_valid_args = len(valid_arg_names) filename = inspect.stack()[1].filename function = inspect.stack()[1].function filename_base = os.path.basename(filename) if num_valid_args == 0: msg = dedent( f""" No arguments have been passed to function {function} in script {filename_base} located '{filename}'""" ) else: msg = dedent( f""" The arguments to function {function} in script {filename_base} located '{filename}' have been set as follows:\n\n""" ) for k, v in valid_arg_names.items(): msg = msg + f" {k}='{v}'\n" print_info_msg(msg, verbose=DEBUG) return num_valid_args