1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#!/usr/bin/env python3
import sys
import otp
def main():
if len(sys.argv) > 2:
sys.exit("usage: cli.py [name]")
try:
entries = otp.load_entries()
if len(sys.argv) > 1:
name = sys.argv[1]
for n, key, period, digits, digest in entries:
if n == name:
print(otp.totp(key, period, digits, digest))
return
sys.exit(f"cli: no entry named {name!r}")
for name, key, period, digits, digest in entries:
print(name, otp.totp(key, period, digits, digest))
except otp.SecretsError as error:
print(f"cli: {error}", file=sys.stderr)
return error.status
if __name__ == "__main__":
sys.exit(main())
|