Пример #1
0
def test_help():
    '''Do help function for CLI.'''
    parser = Parser(version=__version__)
    parser.add_commands(command_parser, exclude_prefixes=['test_'])
    with pytest.raises(SystemExit) as blank_err:
        parser.dispatch([])
    assert blank_err.type == SystemExit
    with pytest.raises(SystemExit) as help_err:
        parser.dispatch(['--help'])
    assert help_err.type == SystemExit
    assert blank_err.value.code == help_err.value.code
Пример #2
0
def test_choice(capsys):
    '''Do main function for CLI.'''
    parser = Parser()
    parser.add_commands(command_parser, exclude_prefixes=['test_'])
    parser.dispatch(['example-choice', '--choice-check', 'B'])
    capture = capsys.readouterr()
    assert literal_eval(capture.out) is True
Пример #3
0
def test_help():
    '''Do help function for CLI.'''
    # NOTE: getting varying results
    # 0 displays help
    # 2 dumps error (invalid choice)

    parser = Parser(__version__, command_type='subcommand')
    parser.add_commands(subcommands_parser, exclude_prefixes=['test_'])

    with pytest.raises(SystemExit) as blank_err:
        parser.dispatch([])
    assert blank_err.type == SystemExit

    with pytest.raises(SystemExit) as help_err:
        parser.dispatch(['--help'])
    assert help_err.type == SystemExit
    assert help_err.type == blank_err.type

    with pytest.raises(SystemExit) as err:
        parser.dispatch(['subcommands-parser', 'example-bool', '--help'])
    assert err.type == SystemExit
    assert err.value.code == 0
Пример #4
0
def test_bool(capsys):
    '''Do main function for CLI.'''
    parser = Parser(command_type='subcommand')
    parser.add_commands(subcommands_parser, exclude_prefixes=['test_'])
    parser.dispatch([
        'subcommands-parser',
        'example-bool',
        '--bool-check',
    ])
    capture = capsys.readouterr()
    assert literal_eval(capture.out) is True
Пример #5
0
def main() -> None:
    '''Demonstrate main with CLI.'''
    parser = Parser(
        # command_type='subcommand',
        use_module_args=True,
        version='0.1.0',
        log_level='debug',
        log_handler=sys.stderr,
    )
    parser.add_commands(cmd1)
    parser.add_commands(cmd2)
    parser.dispatch()
Пример #6
0
'''Example argument group.'''
from argufy import Parser

# parser = argparse.ArgumentParser()
parser = Parser()

group1 = parser.add_argument_group('group1')
group2 = parser.add_argument_group('group2')

group1.add_argument('test-g1')
group1.add_argument('--option1')

group2.add_argument('test-g2')
group2.add_argument('--option2')

print(parser.parse_known_args())
# parser.dispatch()
Пример #7
0
def main() -> None:
    '''Demonstrate main with CLI.'''
    parser = Parser(command_type='subcommand')
    parser.add_commands(cmd1)
    parser.add_commands(cmd2)
    parser.dispatch()
Пример #8
0
def main() -> None:
    '''Demonstrate main with CLI.'''
    parser = Parser(version='0.1.0')
    parser.add_commands(cmd1)
    parser.add_commands(cmd2)
    parser.dispatch()
Пример #9
0
        print('args', args)

    if kwargs != {}:
        print('kwargs', kwargs)


# frame = inspect.currentframe()
# args, args_paramname, kwargs_paramname, values = (
#     inspect.getargvalues(frame)
# )
# print(args, args_paramname, kwargs_paramname, values)
# for k, v in dict(values).items():
#     print(k, v)
# print(inspect.getfullargspec(arguments))
# for x in inspect.getmembers(arguments):
#     print(x)

sig = inspect.signature(arguments)
# print(sig.parameters['args'])
# print(sig.parameters['kwargs'])

parser = Parser(
    prog='complete',
    version='1.2.3',
    log_level='DEBUG',
    log_handler=sys.stderr,
    # command_scheme='chain',
)
parser.add_commands(module)
parser.dispatch()
Пример #10
0
import sys

from argufy import Parser

module = sys.modules[__name__]


def switch():  # type: ignore
    '''Empty function to check switch.'''
    print('test empty switch')


def positional(test: str):  # type: ignore
    '''Run example positional.'''
    print(test)


def example_bool(bool_check=False):  # type: ignore
    '''Run example bool.'''
    print(bool_check)


def example_choice(choice_check='A'):  # type: ignore
    '''Run example choice.'''
    print(choice_check)


parser = Parser(version='1.2.3')
parser.add_commands(module)
parser.dispatch()
Пример #11
0
def main() -> None:
    '''Main function for CLI.'''
    parser = Parser()
    parser.add_commands(cli)
    parser.dispatch()