Utility function for parsing the arguments provided by a user.
Drop any specified key:value pairs with
keyvals_to_drop or drop any
normalise_paths as TRUE,
all filepaths in the arglist will be converted to basenames.
arglist_parse( arglist, keyvals_to_drop = NULL, vals_to_drop = NULL, normalise_paths = TRUE )
Arguments as character vector
Argument keys to drop, e.g. -wd.
Specific values to drop, e.g. --verbose.
Reduce paths to basenames? Default, TRUE.
It is important the file paths are normalised, because they will
not be available to the Docker container. The only files available will
be those that have been transferred to the container as determined through
outsider_init. These files will be located in the
same directory as where the function is called and require no absolute
library(outsider.base) wd <- file.path(tempdir(), 'results') dir.create(wd) arglist <- c('-a', 10, '-b', 'model2', '-wd', wd, '--unwanted') # drop unwanted key:value pairs (arglist_parse(arglist = arglist, keyvals_to_drop = '-wd', normalise_paths = FALSE))#>  "-a" "10" "-b" "model2" "--unwanted"# drop unwanted argument values (arglist_parse(arglist = arglist, vals_to_drop = '--unwanted', normalise_paths = FALSE))#>  "-a" "10" #>  "-b" "model2" #>  "-wd" "/tmp/Rtmpdqh5Q5/results"# make paths relative, necessary for Docker: # paths must be relative to the working directory in the container (arglist_parse(arglist = arglist, normalise_paths = TRUE))#>  "-a" "10" "-b" "model2" "-wd" #>  "results" "--unwanted"# clean-up unlink(wd, recursive = TRUE)