#!/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())