Source code for Acquire.Client.Scripts.__acquire_login__

#!/bin/env python3


[docs]def main(): import argparse import sys from Acquire.Client import Wallet, LoginError parser = argparse.ArgumentParser( description="Log into an Acquire-based identity " "service via a login url", prog="acquire_login") parser.add_argument("url", type=str, nargs="*", help="Login URL") parser.add_argument('-u', '--username', type=str, nargs='?', help="Username with which to log in") parser.add_argument('--remember-password', action="store_true", default=True, help="Remember the password (default on)") parser.add_argument('--remember-device', action="store_true", default=None, help="Remember this device (saves OTP code, " "default off)") parser.add_argument('--no-remember-device', action="store_true", default=None, help="Don't remember this device, and don't ask to") parser.add_argument('--no-remember-password', action="store_true", default=None, help="Don't remember the password, and don't ask to") parser.add_argument('--remove-service', type=str, nargs="*", help="Remove locally stored information about the " "passed service(s)") parser.add_argument('--dry-run', action="store_true", default=None, help="Do a dry-run of the login - don't connect to " "the server") args = parser.parse_args() remember_device = args.remember_device if args.no_remember_device: remember_device = False remember_password = args.remember_password if remember_password is None: remember_password = True if args.no_remember_password: remember_password = False dryrun = args.dry_run if not remember_password: # should not remember the otpsecret if # we don't trust this to remember the password! remember_device = False do_nothing = True wallet = Wallet() if args.remove_service: for service in args.remove_service: try: do_nothing = False print("Removing locally stored information " "about service '%s'" % service) wallet.remove_service(service) except Exception as e: print(e) pass if do_nothing and len(args.url) == 0: parser.print_help(sys.stdout) if len(args.url) == 0: sys.exit(0) for url in args.url: try: wallet.send_password(url=url, username=args.username, remember_password=remember_password, remember_device=remember_device, dryrun=dryrun) except LoginError as e: print("\n%s" % e.args) except Exception as e: from Acquire.Service import exception_to_string print(exception_to_string(e))
if __name__ == "__main__": main()