2016-03-01 30 views
3

在點擊,我定義這個命令點擊密碼選項僅在參數等於什麼

@click.command('time', short_help='Timesheet Generator') 
@click.argument('time_command', type=click.Choice(['this', 'last'])) 
@click.argument('data_mode', type=click.Choice(['excel', 'exchange']), default='exchange') 
@click.option('--password', prompt=True, hide_input=True, confirmation_prompt=False) 
@pass_context 
def cli(ctx, time_command, data_mode, password): 

我的問題是,我只想密碼提示如果data_mode參數等於exchange。我該如何解決這個問題?

回答

0

你可以嘗試將它分成多個命令。 例如,time將是入口點命令。然後time_exceltime_exchange將被time調用,基於data_mode的值。一個可以有密碼提示,而另一個則不可以。

請參閱Invoking Other Commands in Click的文檔。

相關問題