Docopt: параметры после повторяющихся элементов интерпретируются как повторяющиеся элементы

я используюdocopt в моей простой программе на Python:

#!/usr/bin/env python
"""
Farmers market

Usage:
  farmersmarket.py buy -i <item> -q <quantity> [<quantity>] [-p <price>] [-dvh]
  farmersmarket.py -d | --debug
  farmersmarket.py -v | --version
  farmersmarket.py -h | --help

Options:
  -i --item         Item.
  -q --quantity     Quantity.
  -p --price        Price.
  -d --debug        Show debug messages.
  -h --help         Show this screen.
  -v --version      Show version.
"""

from docopt import docopt

print docopt(__doc__)

Если я бегу:

farmersmarket.py buy --item eggs --quantity 100 115 --price 0.25

Ожидаемое поведение - покупать случайное количество яиц между значениями 100 и 115 по цене 0,25. Это работает без проблем, по крайней мере, когда дело доходит до интерпретации аргументов. Другими словамиdocopt получает все как положено:

{'--debug': False,
 '--help': False,
 '--item': True,
 '--price': True,
 '--quantity': True,
 '--version': False,
 '<item>': 'eggs',
 '<price>': '0.25',
 '<quantity>': ['100', '115'],
 'buy': True}

Однако иногда я не хочу покупать случайное количество яиц, а конкретное количество. В этом случае--quantity опция принимает только один аргумент:

farmersmarket.py buy --item eggs --quantity 471 --price 0.25

Но это не так, какdocopt толкует--price 0.25 как повторяющийся элемент--quantity и теряет ценность<price>:

{'--debug': False,
 '--help': False,
 '--item': True,
 '--price': True,
 '--quantity': True,
 '--version': False,
 '<item>': 'eggs',
 '<price>': None,
 '<quantity>': ['471', '0.25'],
 'buy': True}

Как я могу заставить другие варианты работать после повторения элементов?

Ответы на вопрос(1)

Ваш ответ на вопрос