Update extract_otp_secret_keys.py

Remove --qr argument, instead opting to respond to --printqr or --saveqr
pull/2/head
FrankAbagnaleJr 3 years ago
parent f6cde51055
commit b94ba88c80

@ -52,7 +52,6 @@ import generated_python.google_auth_pb2
arg_parser = argparse.ArgumentParser()
arg_parser.add_argument('--verbose', '-v', help='verbose output', action='store_true')
arg_parser.add_argument('--qr', '-q', help='generate QR codes (otpauth://...)', action='store_true')
arg_parser.add_argument('--saveqr', '-s', help='save QR code(s) as images to the "qr" subfolder', action='store_true')
arg_parser.add_argument('--printqr', '-p', help='print QR code(s) as text to the terminal', action='store_true')
arg_parser.add_argument('infile', help='file or - for stdin (default: -) with "otpauth-migration://..." URLs separated by newlines, lines starting with # are ignored')
@ -62,11 +61,8 @@ verbose = args.verbose
saveqr = args.saveqr
printqr = args.printqr
if args.qr:
if saveqr or printqr:
from qrcode import QRCode
if not(saveqr or printqr):
print("Error: If you specify to generate a QR code, you must specify how you want to receive it. Please specify -s or -p. Use -h or --help for more information")
exit()
# https://stackoverflow.com/questions/40226049/find-enums-listed-in-python-descriptor-for-protobuf
def get_enum_name_by_number(parent, field_name):
@ -83,7 +79,7 @@ def save_qr(data, name):
img = qr.make_image(fill_color="black", back_color="white")
if verbose: print("Saving to {}".format(name))
img.save(name)
def print_qr(data):
qr = QRCode()
qr.add_data(data)
@ -113,13 +109,14 @@ for line in (line.strip() for line in fileinput.input(args.infile)):
if otp.type == 1: url_params['counter'] = otp.counter
if otp.issuer: url_params['issuer'] = otp.issuer
otp_url = 'otpauth://{}/{}?'.format('totp' if otp.type == 2 else 'hotp', quote(otp.name)) + urlencode(url_params)
if args.qr:
if saveqr:
if verbose: print(otp_url)
if not(path.exists("qr")): mkdir("qr")
pattern = rcompile('[\W_]+')
file_otp_name = pattern.sub('', otp.name)
file_otp_issuer = pattern.sub('', otp.issuer)
if not(file_otp_issuer): print_qr(otp_url, "qr/{}-{}.png".format(i, file_otp_name))
if file_otp_issuer: save_qr(otp_url, "qr/{}-{}-{}.png".format(i,file_otp_name, file_otp_issuer))
if printqr:
if verbose: print(otp_url)
if saveqr:
if not(path.exists("qr")): mkdir("qr")
pattern = rcompile('[\W_]+')
file_otp_name = pattern.sub('', otp.name)
file_otp_issuer = pattern.sub('', otp.issuer)
if not(file_otp_issuer): print_qr(otp_url, "qr/{}-{}.png".format(i, file_otp_name))
if file_otp_issuer: save_qr(otp_url, "qr/{}-{}-{}.png".format(i,file_otp_name, file_otp_issuer))
if printqr: print_qr(otp_url)
print_qr(otp_url)

Loading…
Cancel
Save