Message336524
Thanks for so fast looking into this.
Good idea to use the workaround with a own conversion function. I'll use this for now.
To see what's happening, I tried a own Action with print in __call__ and a own conversion function with printing. I found following workflow:
1) direct assignment of unconverted default value (if not SUPPRESS, in parse_known_args)
2) conversion of argument string into given type
3) call to Action.__call__ which sets the converted value
4) only in edge cases: Convert default into given type and set in target
When there is no option there is only:
default | arg, narg = '?' | --opt | arg, narg = '*'
-----------------------------------------------------
None | 1), 3) | 1) | 1), 2) with []
SUPPRESS | 2)! | |
str | 1), 2), 3) | 1) | 1), 2)
not str* | 1), 3) | 1), 4) | 1), 2)
*can be int, float or other calss
It gets more complex the deeper I get into the source...
Yes, your second choice has probably less side effects. |
|
| Date |
User |
Action |
Args |
| 2019-02-25 14:39:07 | n8falke | set | recipients:
+ n8falke, paul.j3 |
| 2019-02-25 14:39:07 | n8falke | set | messageid: <1551105547.31.0.0500728606077.issue36078@roundup.psfhosted.org> |
| 2019-02-25 14:39:07 | n8falke | link | issue36078 messages |
| 2019-02-25 14:39:07 | n8falke | create | |
|