mosquito / argclass

A wrapper around the standard argparse module that allows you to describe argument parsers declaratively
Apache License 2.0
12 stars 3 forks source link

store_true / store_false doesn't work correctly if argument wasn't passed #24

Open klyasht opened 4 days ago

klyasht commented 4 days ago
import argclass

class ArgumentParser(argclass.Parser):
    test_arg: bool = argclass.Argument(
        action=argclass.Actions.STORE_TRUE
    )

def main():
    parser = ArgumentParser(auto_env_var_prefix='APP_')
    arguments = parser.parse_args()
    assert arguments.test_arg is False

if __name__ == '__main__':
    main()

Removing of auto_env_var_prefix resolved issue

mosquito commented 4 days ago

Is this example works?

class ArgumentParser(argclass.Parser):
    test_arg: bool = False
klyasht commented 4 days ago

Is this example works?

class ArgumentParser(argclass.Parser):
    test_arg: bool = False

It doesn't but removing of auto_env_var_prefix='APP_' in ArgumentParser still fix the issue.