2016-07-30 6 views
0

私は1つの引数をとり、いくつかのフラグをとることができるコマンドを持っています。特定のフラグの空の引数を無視する

@click.command() 
@click.argument('item') 
@click.option('--list-items', help='list items', is_flag=True) 
def cli(item, list_items): 
    if list_items: 
     click.echo(ITEMS) 
     return 

は現在、それが返されます:私は引数を指定しない場合でも、私は--list-項目の機能にアクセスできるように

Error: Missing argument "item". 

はどうやって作ることができますか?ちょうど--helpフラグのように。

+0

それにデフォルト値を追加することによって追加することによって、それをオプションに!=' item'。それはここにあなたの記事のタイプミスですか? –

+0

@MartijnPietersはい、それを修正しました。それは問題ではありませんが、コードは問題を視覚化するためだけにあります – Granitosaurus

答えて

1

あなたはitemをオプションにする必要があるだろう:

@click.argument('item', required=False) 

、関数のエラー処理を行う(例えばBadParameter() execeptionを上げます)。

+0

私はそれを逃したとは思えず、30分にわたって文書を通過していて、それを見つけることができませんでした:D ありがとう! – Granitosaurus

0

あなたはそれを必須の引数を作った、いずれかの必要= Falseのかiten`は `

関連する問題