2017-02-02 16 views
0
Usage: ics example [OPTIONS] COMMAND [ARGS]... 

docstringsを使用して使用文字列に置き換えます。 それは可能でしょうか?python click:ヘルプ画面のデフォルトの使用状況テキストを非表示にすることはできますか

+0

はあなたが提供したいと考えてどのような情報について、より特異的であり得ますドキュメンテーションストーリー、そしてその情報がどのように提示されると思いますか?現在のところ、この質問は不明です。 –

答えて

0

私がコードから見る限り、python-clickは現時点ではカスタム使用文字列をサポートしていません。しかし、自分で--helpオプションを扱うことができます。これは素晴らしい解決策ではありませんが、実行することができます。

--helpオプションを引き継ぐには、このデフォルトオプションの名前を変更して非表示にする必要があります。このために独自のハンドラを追加してください。これが行われた後、ユーザーがCLIに誤った入力をした場合でも、クリックからの使用エラーが表示されます。これらはコード内でhereと定義されています。例外にはいくつかの種類があります。私たちは、これらをもう一度取るために、monkeypatchingを使うことができます。以下は

は、カスタムヘルプとカスタム使用方法のメッセージを持つ例である:ここでは

import click 

CONTEXT_SETTINGS = dict(help_option_names=['--oldhelp']) 

def monkeypatch_method(cls): 
    def decorator(func): 
     setattr(cls, func.__name__, func) 
     return func 
    return decorator 

@monkeypatch_method(click.UsageError) 
def show(self, file=None): 
    print "You really shouldn't use the program this way!" 

@click.command(context_settings=CONTEXT_SETTINGS, add_help_option=False) 
@click.option('--help', is_flag=True) 
def hello(help): 
    if help: 
     print "Custom help here." 
    else: 
     click.echo('Hello World!') 

if __name__ == '__main__': 
    hello() 

は、プログラムがどのように応答するかである:

: python clickmonkeypatch.py 
Hello World! 
: python clickmonkeypatch.py test 
You really shouldn't use the program this way! 
: python clickmonkeypatch.py --help 
Custom help here. 
関連する問題