Message227585
A 'store_true' action takes 0 arguments. In effect `nargs=0`.
With an `optional` (flagged) argument, the default `False` is used if the flag is absent, and set to `True` when the flag is encountered (its Action `__call__` function is run).
A `positional` is 'encountered' whenever there are enough values to meet its `nargs`. With `nargs=0`, an empty list of strings, i.e. none, is enough. Thus such a `positional` is always found, and its `__call__` is run, setting the value to `True`.
As a result, action types like 'store_true', 'store_false', 'store_const' only make sense with `optionals`.
And I can't think of simple way of using a 'positional' to set an Namespace 'dest' to boolean values. It could be done with a custom Action, but not with the predefined ones. Or you could translate the values after parsing. |
|
Date |
User |
Action |
Args |
2014-09-26 03:40:53 | paul.j3 | set | recipients:
+ paul.j3, Tristan.Fisher |
2014-09-26 03:40:53 | paul.j3 | set | messageid: <1411702853.61.0.523322839452.issue22500@psf.upfronthosting.co.za> |
2014-09-26 03:40:53 | paul.j3 | link | issue22500 messages |
2014-09-26 03:40:53 | paul.j3 | create | |
|