summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorNicholas Wiles <nwiles@google.com>2017-03-29 18:14:22 -0700
committerNicholas Wiles <nwiles@google.com>2017-03-29 18:14:22 -0700
commit014ce7cc07ece8c5be1d7406377ee824184c66ec (patch)
tree822a5c1e48143de15886c210abe5f97cd2a2073f /examples
parent8ac004faaf2bc40ceab3688968fa2ab63bbb5ec1 (diff)
parent430c50a3b6dca4e23936389513d2099b0af865cf (diff)
downloadclick-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.py25
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)