gnu readline – python
September 25, 2008 Leave a comment
This is the very start of our cryptanal program frontend
#!/usr/bin/env python
import readline
"""The shell class is the front end for cryptanal"""
class shell:
def __init__(self, filename=None):
print"""
WWW WW eEeEeEeE LL CCCCC OOOO MMMM MMMM eEeEeEeE
WW W EE LL Cc OOO OOO MM MM M MM EE
WW WW EeEeE LL CC OO OO MM MMM MM EeEeE
WWw WW WW EE LL Cc OOO OOO MM MM EE
WWW WWW eEeEeEeE LlLlLlL CCCCC OOOO MM MM eEeEeEeE
TO CRYPTO-SHELL
(Useful for deciphering what little Susie is writing to little Billy)
"""
self.filename = filename
self.crypto = None
#if self.filename != None:
#self.crypto = freqcount.subCryptAnal(self.filename)
#setup the tab completion information here
self.commands = ["help", "printfreq"]
readline.set_completer(self.completer)
readline.parse_and_bind("tab: complete")
#completer funtion for tab complete
def completer(self, word, index):
matches =
try:
return matches[index] + " "
except IndexError:
pass
#this is the main event loop
def mainloop(self):
while 1:
command=raw_input('> ').lstrip()
if command.lower().startswith('help'):
self.help(command[4:].lstrip())
else:
print "Error: command not recognized"
def help(self, args):
print "HELP"
if __name__ == '__main__':
thisshell = shell()
thisshell.mainloop()