def gen(args): config = load_config() if args.pattern: password = generate(config, args.pattern) else: password = generate_from_type(config, args.type) process_password(args, config, password)
def save(args): config = load_config() if args.pattern: generate(config, args.pattern) config.set_type(args.name, args.pattern) print("Pattern '{}' saved as type '{}'.".format(args.pattern, args.name)) else: if args.name not in config.types: raise ValueError("No type named {}.".format(args.name)) if confirm("Delete type with name {}?".format(args.name)): config.remove_type(args.name) print("Type {} deleted.".format(args.name)) save_config(config)
def munge(args): print(substitute(args.string, load_config()))
def remove_chars(args): config = load_config() config.remove_chars_from_class(args.cls, args.chars) save_config(config) print("{}: {}".format(args.cls, config.char_class(args.cls)))
def add_chars(args): config = load_config() config.add_chars_to_class(args.cls, args.chars) save_config(config) print("{}: {}".format(args.cls, config.char_class(args.cls)))
def pronounceable(args): password = generate_pronounceable(args.length) process_password(args, load_config(), password)
def phrase(args): password = generate_phrase(args.pattern) process_password(args, load_config(), password)