casperdcl / argopt

convert docopt to argparse
https://pypi.python.org/pypi/argopt
Other
23 stars 2 forks source link

can't handle multiple "usage" messages? #4

Open sjpb opened 6 years ago

sjpb commented 6 years ago

With a docstring like this:

Usage:
    script.py <arg>
    script.py [<cmd>] <arg>

here's what I get for docopt and argopt:

With python script.py a

docopt: docopt: {'<arg>': 'a','<cmd>': None}

argopt:

usage: script.py [-h] arg arg [cmd]
script.py: error: too few arguments

With python script.py run a

docopt: docopt: {'<arg>': 'a','<cmd>': 'run'}

argopt: Namespace(arg='a', cmd='None').

In both cases docopt does what I'd expect?

casperdcl commented 6 years ago

In this case you could use

Usage:
    script.py [<cmd>] <arg>

or

Usage:
    script.py <arg> [<cmd>]

What would the use case be? It's not the same as #3