diff --git a/.flake8 b/.flake8 index f57bb5d..69e1bd1 100644 --- a/.flake8 +++ b/.flake8 @@ -4,5 +4,3 @@ ignore = exclude = protobuf_generated_python __pycache__ -per-file-ignores = - extract_otp_secret_keys.py: F821, F401 diff --git a/extract_otp_secret_keys.py b/extract_otp_secret_keys.py index 543ca98..4e987c9 100644 --- a/extract_otp_secret_keys.py +++ b/extract_otp_secret_keys.py @@ -63,7 +63,8 @@ def convert_secret_from_bytes_to_base32_str(bytes): return str(base64.b32encode(bytes), 'utf-8').replace('=', '') -def save_qr(data, name): +def save_qr(args, data, name): + from qrcode import QRCode global verbose qr = QRCode() qr.add_data(data) @@ -72,7 +73,8 @@ def save_qr(data, name): img.save(name) -def print_qr(data): +def print_qr(args, data): + from qrcode import QRCode qr = QRCode() qr.add_data(data) qr.print_ascii() @@ -101,7 +103,6 @@ def sys_main(): def main(sys_args): global verbose, quiet args = parse_args(sys_args) - if args.saveqr or args.printqr: from qrcode import QRCode verbose = args.verbose quiet = args.quiet @@ -149,13 +150,13 @@ def extract_otps(args): otp_url = 'otpauth://{}/{}?'.format('totp' if otp.type == 2 else 'hotp', quote(otp.name)) + urlencode(url_params) if verbose: print(otp_url) if args.printqr: - print_qr(otp_url) + print_qr(args, otp_url) if args.saveqr: if not (path.exists('qr')): mkdir('qr') pattern = rcompile(r'[\W_]+') file_otp_name = pattern.sub('', otp.name) file_otp_issuer = pattern.sub('', otp.issuer) - save_qr(otp_url, 'qr/{}-{}{}.png'.format(j, file_otp_name, '-' + file_otp_issuer if file_otp_issuer else '')) + save_qr(args, otp_url, 'qr/{}-{}{}.png'.format(j, file_otp_name, '-' + file_otp_issuer if file_otp_issuer else '')) if not quiet: print() otps.append({