summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorNicholas Wiles <nwiles@google.com>2017-03-29 18:23:34 -0700
committerNicholas Wiles <nwiles@google.com>2017-03-29 18:23:34 -0700
commit33cd8696cb88bcdaa6d16d506bf468f275770ace (patch)
tree363b5ebd169e18fe2de97d331d83b8d16e3e867a /examples
parent014ce7cc07ece8c5be1d7406377ee824184c66ec (diff)
downloadclick-33cd8696cb88bcdaa6d16d506bf468f275770ace.tar.gz
Update completion example
Diffstat (limited to 'examples')
-rw-r--r--examples/bashcompletion/bashcompletion.py21
1 files changed, 7 insertions, 14 deletions
diff --git a/examples/bashcompletion/bashcompletion.py b/examples/bashcompletion/bashcompletion.py
index 0a8d4d9..8aaf174 100644
--- a/examples/bashcompletion/bashcompletion.py
+++ b/examples/bashcompletion/bashcompletion.py
@@ -1,6 +1,5 @@
import click
import os
-from netifaces import interfaces, ifaddresses, AF_INET
@click.group()
def cli():
@@ -15,24 +14,18 @@ def cmd1(envvar):
click.echo('Environment variable: %s' % envvar)
click.echo('Value: %s' % os.environ[envvar])
-@cli.command()
-def cmd3():
- pass
-
@click.group()
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
+def list_users(ctx, args, incomplete):
+ # Here you can generate completions dynamically
+ users = ['bob', 'alice']
+ return users
@group.command()
-@click.argument("ip", type=click.STRING, autocompletion=ip4_addresses)
-def subcmd(ip):
- click.echo('Chosen IP is %s' % color)
+@click.argument("user", type=click.STRING, autocompletion=list_users)
+def subcmd(user):
+ click.echo('Chosen user is %s' % user)
cli.add_command(group)