diff options
author | Nicholas Wiles <nwiles@google.com> | 2017-03-29 18:14:22 -0700 |
---|---|---|
committer | Nicholas Wiles <nwiles@google.com> | 2017-03-29 18:14:22 -0700 |
commit | 014ce7cc07ece8c5be1d7406377ee824184c66ec (patch) | |
tree | 822a5c1e48143de15886c210abe5f97cd2a2073f /examples | |
parent | 8ac004faaf2bc40ceab3688968fa2ab63bbb5ec1 (diff) | |
parent | 430c50a3b6dca4e23936389513d2099b0af865cf (diff) | |
download | click-014ce7cc07ece8c5be1d7406377ee824184c66ec.tar.gz |
Merge branch 'master' into feature/bash_autocompletion_6.6
# Conflicts:
# click/_bashcomplete.py
# docs/bashcomplete.rst
# tests/test_bashcomplete.py
Diffstat (limited to 'examples')
-rw-r--r-- | examples/bashcompletion/bashcompletion.py | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/examples/bashcompletion/bashcompletion.py b/examples/bashcompletion/bashcompletion.py index f338c53..0a8d4d9 100644 --- a/examples/bashcompletion/bashcompletion.py +++ b/examples/bashcompletion/bashcompletion.py @@ -1,25 +1,17 @@ import click import os +from netifaces import interfaces, ifaddresses, AF_INET @click.group() def cli(): pass - -@cli.command() -@click.option('-c', '--count', type=click.INT, default=1) -@click.argument("first", type=click.STRING, autocompletion=["John", "Bob", "Fred"]) -@click.argument("last", type=click.STRING, autocompletion=["Smith", "Simon", "Doe"]) -def cmd1(count, first, last): - for c in range(count): - click.echo('Name: %s %s' % (first, last)) - def get_env_vars(ctx, args, incomplete): return os.environ.keys() @cli.command() @click.argument("envvar", type=click.STRING, autocompletion=get_env_vars) -def cmd2(envvar): +def cmd1(envvar): click.echo('Environment variable: %s' % envvar) click.echo('Value: %s' % os.environ[envvar]) @@ -31,9 +23,16 @@ def cmd3(): def group(): pass +def ip4_addresses(): + ip_list = [] + for interface in interfaces(): + for link in ifaddresses(interface)[AF_INET]: + ip_list.append(link['addr']) + return ip_list + @group.command() -@click.argument("color", type=click.STRING, autocompletion=['red', 'green', 'blue']) -def subcmd(color): - click.echo('Color is: %s' % color) +@click.argument("ip", type=click.STRING, autocompletion=ip4_addresses) +def subcmd(ip): + click.echo('Chosen IP is %s' % color) cli.add_command(group) |