#!/usr/bin/env python
"""
Example of how to access more than one connected YubiKey.
"""
import sys
import yubico
def get_all_yubikeys(debug):
"""
Look for YubiKey with ever increasing `skip' value until an error is returned.
Return all instances of class YubiKey we got before failing.
"""
res = []
try:
skip = 0
while skip < 255:
YK = yubico.find_yubikey(debug = debug, skip = skip)
res.append(YK)
skip += 1
except yubico.yubikey.YubiKeyError:
pass
return res
debug = False
if len(sys.argv) > 1:
debug = (sys.argv[1] == '-v')
keys = get_all_yubikeys(debug)
if not keys:
print "No YubiKey found."
else:
n = 1
for this in keys:
print "YubiKey #%02i : %s %s" % (n, this.description, this.status())
n += 1