Skip to content
Snippets Groups Projects
Commit e6d3d6b8 authored by Matt Traudt's avatar Matt Traudt
Browse files

Add a (barely tested) pwgen command

parent 58391c90
Branches
Tags
No related merge requests found
import sbws.commands.client
import sbws.commands.generate
import sbws.commands.init
import sbws.commands.pwgen
import sbws.commands.server
import sbws.commands.stats
from sbws.util.config import get_config
......@@ -31,6 +32,7 @@ def create_parser():
sbws.commands.client.gen_parser(sub)
sbws.commands.generate.gen_parser(sub)
sbws.commands.init.gen_parser(sub)
sbws.commands.pwgen.gen_parser(sub)
sbws.commands.server.gen_parser(sub)
sbws.commands.stats.gen_parser(sub)
return p
......@@ -81,6 +83,8 @@ def main():
'a': def_args, 'kw': def_kwargs},
'init': {'f': sbws.commands.init.main,
'a': def_args, 'kw': def_kwargs},
'pwgen': {'f': sbws.commands.pwgen.main,
'a': def_args, 'kw': def_kwargs},
'server': {'f': sbws.commands.server.main,
'a': def_args, 'kw': def_kwargs},
'stats': {'f': sbws.commands.stats.main,
......
from argparse import ArgumentDefaultsHelpFormatter
import random
PW_LEN = 64
ALPHABET = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
def gen_parser(sub):
d = 'Generate a password suitable for use by a sbws client for '\
'authenticating to an sbws server.'
sub.add_parser('pwgen', formatter_class=ArgumentDefaultsHelpFormatter,
description=d)
def rand_char():
return random.choice(ALPHABET)
def rand_str():
s = ''
while len(s) < PW_LEN:
s += rand_char()
return s
def main(args, conf, log_):
global log
log = log_
s = rand_str()
print(s)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment