Browse Source

Started on "programs"

cache_money
Raphael Roberts 7 years ago
parent
commit
9ab2d9cbf3
  1. 47
      main.py

47
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()
Loading…
Cancel
Save