docopt 0.6 fails to handle very simple usage message with two subcommands
schmir opened this issue · comments
There's a rather serious regression in docopt 0.6.
The following program fails to parse a simple "fs fail --loglevel
5". Instead it prints the usage message:
#! /usr/bin/env python """ Usage: fs good [options] fs fail [options] Options: --loglevel=<level> loglevel """ import docopt print docopt.docopt(__doc__)
i.e. with docopt 0.6 I get
[dev] ~/ % ./fs good --loglevel 5 {'--loglevel': '5', 'fail': False, 'good': True} [dev] ~/ % ./fs fail --loglevel 5 Usage: fs good [options] fs fail [options]
Without the --loglevel parameter it's working:
[dev] ~/ % ./fs fail {'--loglevel': None, 'fail': True, 'good': False}
with 0.5 I get the expected results:
[dev] ~/ % ./fs good --loglevel 5 {'--loglevel': '5', 'fail': False, 'good': True} [dev] ~/ % ./fs fail --loglevel 5 {'--loglevel': '5', 'fail': True, 'good': False}
This is now on PyPI: http://pypi.python.org/pypi/docopt