############################################################ # FlatCAM: 2D Post-processing for Manufacturing # # http://flatcam.org # # Author: Juan Pablo Caram (c) # # Date: 2/5/2014 # # MIT Licence # ############################################################ import termwidget class FCShell(termwidget.TermWidget): def __init__(self, sysShell, *args): termwidget.TermWidget.__init__(self, *args) self._sysShell = sysShell def is_command_complete(self, text): def skipQuotes(text): quote = text[0] text = text[1:] endIndex = str(text).index(quote) return text[endIndex:] while text: if text[0] in ('"', "'"): try: text = skipQuotes(text) except ValueError: return False text = text[1:] return True def child_exec_command(self, text): self._sysShell.exec_command(text)