The errors raised by ArgumentParser()$parse_args()
are now of class “argparse_parse_error”.
They are now less verbose when interactive()
is
FALSE
(#40).
There may still a trailing “Execution halted” line output by R’s
default error handler (when interactive()
is
FALSE
). This can be silenced by setting a new error handler
near the top of your Rscript e.g.
if (!interactive())
options(error=function(e) quit('no', status = 1, runLast = FALSE))
add_argument
now uses as.logical()
logic to cast variables to logical values if
type = "logical"
and action = "store"
or
action = "append"
instead of using Python’s
bool()
logic (#39).
type = "logical"
and action = "store"
suggesting users instead use action = "store_true"
or
action = "store_false"
.action == "append"
and a non-NULL
default
value (#35). Thanks @miker985 for bug report.parse_known_args()
(#34).
Suggestion of David Lacalle Castillo (@WaterKnight1998).formatter_class
argument (as a
string) to a subparsers$add_parser()
method. Thanks Regina
(@oyxf) for bug
report.ArgumentParser()
.ArgumentParser()
when using Python 3.9. Thanks Kurt Hornik
for bug report.add_help
argument in
ArgumentParser
. Thanks George Chlipala for bug report.getopt
as a dependency.R6
classes instead of proto
classes (#25).argparse
code
but I did make private the previously public python_code
element of the object returned by ArgumentParser()
.add_subparsers
(#14). Suggestion of
Zebulun Arendsee.add_argument_group
(#26).add_mutually_exclusive_group
(#23).proto
dependency.type='integer'
in
add_argument
. Thanks Dominik Mueller for bug report and
suggested solution.proto
has been moved from
Depends
to Imports
in
DESCRIPTION
. We now use jsonlite
package
instead of rjson
to parse JSON
.ArgumentParser()
Suggestion of Alex
Reinhart.action='version'
. Suggestion of Dario Beraldi.required=FALSE
in
add_argument
. Thanks Claire D. McWhite for bug report.metavar
argument of add_argument
. Thanks Paul Newell for bug report
and a patch.add_argument
now throws a warning recommending using
action “store_true” or “store_false” if type set to “logical” and action
set to “store”.NULL
default in
add_argument
.NULL
default by
not setting any default at all. Suggestion of Hyunsoo Kim.choices
argument in
parser$add_argument
. Thanks Christopher Small for
report/request.formatter_class
argument in
ArgumentParser
. Thanks Costas Bouyioukos for
report/request.findpython::find_python_cmd
which is a little bit more
robust than the previous argparse::find_python_cmd
.interactive() == TRUE
then parse_args
will no longer quit(status=1)
after printing a help message
but will instead throw an error. argparse
will continue to
quit(status=1)
after printing a help message for
non-interactive Rscripts.parser$add_argument
for case when we specify
a default vector instead of scalar. Thanks Martin Diehl for bug
report.find_python_cmd
will now also look for a
python2.7
binary.