docopt 0.6 fails to handle very simple usage message with two subcommands #85

Closed
schmir opened this Issue Feb 1, 2013 · 1 comment

Comments

Projects
None yet
2 participants
@schmir
Contributor

schmir commented Feb 1, 2013

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}
@keleshev

This comment has been minimized.

Show comment
Hide comment
Member

keleshev commented Feb 1, 2013

This is now on PyPI: http://pypi.python.org/pypi/docopt

@keleshev keleshev closed this Feb 1, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment