#!/usr/bin/env python
import argparse
import usernamegen


def main():
    words = []
    description = ('Markov chain word generator. Generate new words based on a'
                   'word list.')

    parser = argparse.ArgumentParser(description=description)
    parser.add_argument('path', type=str, metavar='WORDLIST',
                        help='Path to wordlist used for word generation')
    parser.add_argument('-p', type=int, dest='prev', default=3,
                        help='Number of previous letters to base chain on')
    parser.add_argument('-n', type=int, dest='n', default=5,
                        help='Amount of new words to generate')
    args = parser.parse_args()

    file = open(args.path)
    file.seek(0)
    data = file.read()
    words = data.split("\n")
    file.close()

    markov = usernamegen.MarkovChain(words, args.prev)
    for i in range(0, args.n):
        print markov.getWord()

if __name__ == '__main__':
    main()
