#!/usr/bin/python
"""
Generate pseudo random passwords
"""

from systematic.shell import Script
from secrets.generator import PasswordGenerator,PasswordGeneratorError

script = Script(description="Create pseudo random passwords and print them to screen.")
script.add_argument('-c','--count',type=int,default=1,help='Number of passwords to generate')
script.add_argument('-r','--readable',action='store_true',help='Create readable passwords (default)')
script.add_argument('-o','--complex',action='store_true',help='Create complex passwords')
script.add_argument('-s','--simple',action='store_true',help='Create simple passwords')
args = script.parse_args()

try:
    pg = PasswordGenerator()
except PasswordGeneratorError,emsg:
    pg = None
    script.exit(1,emsg)

if args.complex:
    model = 'complex'
elif args.simple:
    model = 'simple'
else:
    # Readable passwords are default
    model = 'readable'

for password in pg.generate(count=args.count,model=model):
    print password

