Format project with black
This commit is contained in:
37
argclass.py
37
argclass.py
@@ -10,18 +10,18 @@ def make_gnu_option(name):
|
||||
def decide_default(field_):
|
||||
arg_cfg = {}
|
||||
if field_.default != MISSING:
|
||||
arg_cfg['default'] = field_.default
|
||||
arg_cfg["default"] = field_.default
|
||||
elif field_.default_factory != MISSING:
|
||||
arg_cfg['default'] = field_.default_factory()
|
||||
arg_cfg["default"] = field_.default_factory()
|
||||
else:
|
||||
arg_cfg['required'] = True
|
||||
arg_cfg["required"] = True
|
||||
return arg_cfg
|
||||
|
||||
|
||||
def get_choices(field_):
|
||||
arg_cfg = {}
|
||||
try:
|
||||
arg_cfg['choices'] = field_.metadata['choices']
|
||||
arg_cfg["choices"] = field_.metadata["choices"]
|
||||
except KeyError:
|
||||
pass
|
||||
return arg_cfg
|
||||
@@ -38,16 +38,16 @@ def compute_arg_names(name, field_):
|
||||
|
||||
def _prepare_bool(ap: ArgumentParser, name, field_):
|
||||
arg_cfg = decide_default(field_)
|
||||
required = 'required' in arg_cfg
|
||||
required = "required" in arg_cfg
|
||||
bool_parser = ap.add_mutually_exclusive_group(required=required)
|
||||
bool_parser.add_argument(make_gnu_option(name),
|
||||
action='store_true',
|
||||
dest=name)
|
||||
bool_parser.add_argument(make_gnu_option(f'no_{name}'),
|
||||
action='store_false',
|
||||
dest=name)
|
||||
bool_parser.add_argument(
|
||||
make_gnu_option(name), action="store_true", dest=name
|
||||
)
|
||||
bool_parser.add_argument(
|
||||
make_gnu_option(f"no_{name}"), action="store_false", dest=name
|
||||
)
|
||||
if not required:
|
||||
ap.set_defaults(**{name: arg_cfg['default']})
|
||||
ap.set_defaults(**{name: arg_cfg["default"]})
|
||||
|
||||
|
||||
def _prepare_list_cfg(name, field_):
|
||||
@@ -57,14 +57,14 @@ def _prepare_list_cfg(name, field_):
|
||||
}
|
||||
subtype = typing.get_args(field_.type)
|
||||
if not subtype:
|
||||
arg_cfg['type'] = str
|
||||
arg_cfg["type"] = str
|
||||
else:
|
||||
arg_cfg['type'] = subtype[0]
|
||||
arg_cfg["type"] = subtype[0]
|
||||
|
||||
if field_.metadata.get('allow_empty', False):
|
||||
arg_cfg['nargs'] = '*'
|
||||
if field_.metadata.get("allow_empty", False):
|
||||
arg_cfg["nargs"] = "*"
|
||||
else:
|
||||
arg_cfg['nargs'] = '+'
|
||||
arg_cfg["nargs"] = "+"
|
||||
return arg_cfg
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ def _prepare_trivial_cfg(name, field_):
|
||||
**decide_default(field_),
|
||||
**get_choices(field_),
|
||||
}
|
||||
arg_cfg['type'] = field_.type
|
||||
arg_cfg["type"] = field_.type
|
||||
return arg_cfg
|
||||
|
||||
|
||||
@@ -99,7 +99,6 @@ def prepare_field(ap, name, field_):
|
||||
|
||||
|
||||
def argclass(cls):
|
||||
|
||||
@classmethod
|
||||
def parse_args(cls, argv):
|
||||
ap = ArgumentParser()
|
||||
|
||||
Reference in New Issue
Block a user