Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
def munge(args):
    print(substitute(args.string, load_config()))
Пример #4
0
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)))
Пример #5
0
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)))
Пример #6
0
def pronounceable(args):
    password = generate_pronounceable(args.length)
    process_password(args, load_config(), password)
Пример #7
0
def phrase(args):
    password = generate_phrase(args.pattern)
    process_password(args, load_config(), password)