From 9ab2d9cbf3f231182bd7a4196c42e234e84ba0c4 Mon Sep 17 00:00:00 2001 From: Raphael Roberts Date: Thu, 23 May 2019 11:42:27 -0500 Subject: [PATCH] Started on "programs" --- main.py | 47 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/main.py b/main.py index 0c09afd..f892d75 100755 --- a/main.py +++ b/main.py @@ -1,13 +1,54 @@ +import argparse +from string import ascii_lowercase + import cmd2 +from dictionary import DEFAULT, ALTERNATE +LOWERCASE = set(ascii_lowercase) +DICTS = { + 'default': DEFAULT, + 'alt': ALTERNATE, +} +# argparsers +dictionary_manage_parser = argparse.ArgumentParser() +commands = dictionary_manage_parser.add_mutually_exclusive_group() +commands.add_argument( + '-l', '--list', action='store_true', help='List available dictionaries') +commands.add_argument( + '-s', '--switch', help='Dictionary to swap to') + +letter_set_manage = argparse.ArgumentParser() +letter_set_manage.add_argument('new_letters') + class MainLoop(cmd2.Cmd): """Loop for wordscape commands """ + prompt = "?$ " def __init__(self): - letters = None - removed = set() - + self.dict = 'default' + self.letters = [l for l in input( + "Enter letters: ").lower() if l in LOWERCASE] + self.prompt = ', '.join(self.letters) + ' ' + MainLoop.prompt super().__init__() + + @cmd2.with_argparser(dictionary_manage_parser) + def do_dict(self, args): + """list/switch dict""" + if args.list: + print('\n'.join( + ('{} {}'.format('*' if key == self.dict else ' ', + key) for key in DICTS.keys()))) + else: + DICTS[args.switch] + self.dict = args.switch + + @cmd2.with_argparser(letter_set_manage) + def do_change_letters(self, args): + pass + + +if __name__ == "__main__": + MainLoop().cmdloop()