diff --git a/yubi_lock/api/__init__.py b/yubi_lock/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/yubi_lock/api/yubikey.py b/yubi_lock/api/yubikey.py new file mode 100644 index 0000000..4d0cf65 --- /dev/null +++ b/yubi_lock/api/yubikey.py @@ -0,0 +1,14 @@ +import yubico + + +def get_all_yubikeys(debug): + keys = [] + try: + skip = 0 + while skip < 255: + key = yubico.find_yubikey(debug=debug, skip=skip) + keys.append(key) + skip += 1 + except yubico.yubikey.YubiKeyError: + pass + return keys diff --git a/yubi_lock/status/__init__.py b/yubi_lock/status/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/yubi_lock/status/cli.py b/yubi_lock/status/cli.py new file mode 100644 index 0000000..17daff6 --- /dev/null +++ b/yubi_lock/status/cli.py @@ -0,0 +1,10 @@ +import click +from yubi_lock.api.yubikey import get_all_yubikeys + + +@click.command('status', short_help='List connected devices.') +def cli(): + print('Scanning for keys...') + keys = get_all_yubikeys(False) + for key in keys: + print("Found {}!".format(key.description))