def loop(self, dialog="usage"): self.running = True prev_dialog = dialog standalone = dialog != 'usage' # no "back" for plugins while dialog and self.running: try: if not dialog.startswith(PLUGIN_PATH): try: method = getattr(self, dialog) except AttributeError: raise Error("dialog not supported: " + dialog) else: try: method = self.pluginManager.path_map[dialog].run except KeyError: raise Error("could not find plugin dialog: " + dialog) new_dialog = method() if standalone: # XXX This feels dirty break prev_dialog = dialog dialog = new_dialog except Exception as e: sio = StringIO() traceback.print_exc(file=sio) self.console.msgbox("Caught exception", sio.getvalue()) dialog = prev_dialog
def loop(self, dialog="usage"): self.running = True prev_dialog = dialog while dialog and self.running: try: if not dialog.startswith(PLUGIN_PATH): try: method = getattr(self, dialog) except AttributeError: raise Error("dialog not supported: " + dialog) else: try: method = self.pluginManager.path_map[dialog].run except KeyError: raise Error("could not find plugin dialog: " + dialog) new_dialog = method() prev_dialog = dialog dialog = new_dialog except Exception, e: sio = StringIO() traceback.print_exc(file=sio) self.console.msgbox("Caught exception", sio.getvalue()) dialog = prev_dialog