Skip to content

Instantly share code, notes, and snippets.

@msanders
Last active March 3, 2017 19:12
Show Gist options
  • Save msanders/2c9dbf5c953e80217749 to your computer and use it in GitHub Desktop.
Save msanders/2c9dbf5c953e80217749 to your computer and use it in GitHub Desktop.
Optional argument in click
import click
def set_global_domain(ctx, param, value):
if value:
ctx.params["domain"] = "NSGlobalDomain"
return value
@click.group()
def cli():
pass
@cli.command("set-default")
@click.option("-g", "--globalDomain", is_flag=True, callback=set_global_domain)
@click.argument("domain", required=False)
@click.argument("key")
@click.argument("value")
def set_default(domain, key, value, globaldomain=None):
print((domain, key, value))
def main():
cli()
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment