2017-03-16 48 views
1

我与我的代码在这里延伸credstash代码工作:有条件子分析器基于互斥组参数

https://github.com/willcrain1/credstash

我的问题是,我想补充必需的参数,但只有当你选择-b作为相互排斥的一个(你将不得不提供桶名和'credstash'名),所以s3需要2个参数,其中dynamodb - -t参数只需要一个(只是表名)。

现在代码已经有了你想采取的操作的子分析器。我是新来的python如此新的argparse,所以任何建议如何添加一个条件参数-c Credstash,但只有当使用-b时有效的方式赞赏。

usage: credstash [-h] [-r REGION] [-b BUCKET | -t TABLE] [-p PROFILE | -n ARN] {delete,get,getall,list,put,setup} ...

+0

您的需求还不是很清楚。但是我想知道是否为'-b'设置'nargs = 2'会起作用。用法会看起来像'[-b BUCKET BUCKET | -t TABLE]'(尽管你可以用'metavar'来改进)。 – hpaulj

+0

这正是我要找的。我会尽力实现这一点。谢谢@hpaulj –

回答

1

从我的评论复制:

尝试为-b设置nargs=2。然后使用看起来像

[-b BUCKET BUCKET | -t TABLE] 

添加metavar=('bucket', 'credstash')(元组,未列表)应该更改用法:

[-b bucket credstach | -t TABLE]