| Viewing file:  TerminalInput.py (2.06 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
import code, string
 import DebugCommands
 
 g_commandDict = {'r':DebugCommands.RUN,
 'run':DebugCommands.RUN,
 'q':DebugCommands.QUIT,
 'quit':DebugCommands.QUIT,
 't':DebugCommands.TEMPLATE,
 'template':DebugCommands.TEMPLATE,
 'p':DebugCommands.PRINT,
 'print':DebugCommands.PRINT,
 'ls':DebugCommands.LIST_SHEET,
 'bt':DebugCommands.BACK_TRACE,
 's':DebugCommands.STEP,
 'step':DebugCommands.STEP,
 'n':DebugCommands.NEXT,
 'next':DebugCommands.NEXT,
 'test':DebugCommands.TEST,
 'e':DebugCommands.EVAL,
 'eval':DebugCommands.EVAL,
 'm':DebugCommands.MATCH,
 'match':DebugCommands.MATCH,
 'a':DebugCommands.AVT,
 'avt':DebugCommands.AVT,
 'lt':DebugCommands.LIST_TEMPLATE,
 'break':DebugCommands.SET_BREAK,
 'b':DebugCommands.SET_BREAK,
 'lb':DebugCommands.LIST_BREAK,
 'db':DebugCommands.DELETE_BREAK,
 'h':DebugCommands.HELP,
 'help':DebugCommands.HELP,
 }
 
 
 class TerminalInputHandler:
 
 def __init__(self):
 
 self.console = code.InteractiveConsole({})
 self.lastCommand = None
 
 
 
 
 def getNextCommand(self,outputHandler):
 
 try:
 cmd = self.console.raw_input(">>> ")
 except EOFError:
 raise SystemExit()
 
 
 
 args = ()
 index = string.find(cmd,' ')
 if index != -1:
 args = []
 args = string.split(cmd[index+1:],',')
 cmd = cmd[:index]
 
 if self.lastCommand and not cmd:
 cmd = self.lastCommand
 self.lastCommand = cmd
 
 if not g_commandDict.has_key(cmd):
 outputHandler.display_error("Unknown Command '%s'" % cmd)
 return None
 
 return g_commandDict[cmd],args
 
 
 
 
 |