62 argv = dict([arg.split(
'=', 1)
if '=' in arg
else (arg,
True)
for arg
in sys.argv[1:]])
65 for arg_name, arg_spec
in kwargs.items():
66 if isinstance(arg_spec, type):
69 elif callable(arg_spec):
71 arg_default = arg_spec()
73 arg_type = type(arg_spec)
74 arg_default = arg_spec
78 self.
__args[arg_name] = arg_type(argv[arg_name])
80 raise ValueError(
'Invalid value for {}: {}'.format(arg_name, argv[arg_name]))
83 self.
__args[arg_name] = arg_default
86 raise KeyError(
'Unknown parameters found: {}'.format(
', '.join(argv.keys())))