14880: Fix argument parsing issues
authorPeter Amstutz <pamstutz@veritasgenetics.com>
Fri, 8 Mar 2019 15:14:27 +0000 (10:14 -0500)
committerPeter Amstutz <pamstutz@veritasgenetics.com>
Fri, 8 Mar 2019 15:14:27 +0000 (10:14 -0500)
commitb26b8ced25b767648f493a48956a7b40d95e1b20
tree3834b22e806c9c53a950b299790facd2b997f7e5
parentfd86f7f461bdca63ba500570094a9a452d28eb57
14880: Fix argument parsing issues

arv-keepdocker passes through some flags to arv-put.  The strategy it
uses is to remove known flags and pass through unknown flags. However
it doesn't know if an unknown flag takes a value or not, so it treats
the values as a positional argument rather than the value
corresponding to the unknown flag.

* Move positional arguments from "keepdocker_parser" to "arg_parser"
* Strip positional arguments (image name, tag) from arguments before
  parsing known keepdocker_parser flags.
* Additionally move a couple of flags that were mistakenly added to
  put.run_opts (and thus appearing in the arv-keepdocker help despite
  making no sense) that should have been in put.upload_opts

Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>
sdk/python/arvados/commands/keepdocker.py
sdk/python/arvados/commands/put.py