ifnotline.startswith('otpauth-migration://'):print('\nWARN: line is not a otpauth-migration:// URL\ninput file: {}\nline "{}"\nProbably a wrong file was given'.format(args.infile,line))
ifnotline.startswith('otpauth-migration://'):print('\nWARN: line is not a otpauth-migration:// URL\ninput file: {}\nline "{}"\nProbably a wrong file was given'.format(args.infile,line))
parsed_url=urlparse(line)
parsed_url=urlparse(line)
params=parse_qs(parsed_url.query)
params=parse_qs(parsed_url.query)
ifnot'data'inparams:
if'data'notinparams:
print('\nERROR: no data query parameter in input URL\ninput file: {}\nline "{}"\nProbably a wrong file was given'.format(args.infile,line))
print('\nERROR: no data query parameter in input URL\ninput file: {}\nline "{}"\nProbably a wrong file was given'.format(args.infile,line))
sys.exit(1)
sys.exit(1)
data_encoded=params['data'][0]
data_encoded=params['data'][0]
@ -159,6 +167,7 @@ def extract_otps(args):
})
})
returnotps
returnotps
defwrite_csv(args,otps):
defwrite_csv(args,otps):
globalverbose,quiet
globalverbose,quiet
ifargs.csvandlen(otps)>0:
ifargs.csvandlen(otps)>0:
@ -168,6 +177,7 @@ def write_csv(args, otps):
writer.writerows(otps)
writer.writerows(otps)
ifnotquiet:print("Exported {} otps to csv".format(len(otps)))
ifnotquiet:print("Exported {} otps to csv".format(len(otps)))
defwrite_json(args,otps):
defwrite_json(args,otps):
globalverbose,quiet
globalverbose,quiet
ifargs.json:
ifargs.json:
@ -175,5 +185,6 @@ def write_json(args, otps):
json.dump(otps,outfile,indent=4)
json.dump(otps,outfile,indent=4)
ifnotquiet:print("Exported {} otp entries to json".format(len(otps)))
ifnotquiet:print("Exported {} otp entries to json".format(len(otps)))