def save_outputs_dcm_overlay(self): # TODO add logger.debug('save dcm') from PyQt4.QtCore import pyqtRemoveInputHook pyqtRemoveInputHook() # mport ipdb; ipdb.set_trace() # BREAKPOINT odp = self.output_datapath pth, filename = op.split(op.normpath(self.datapath)) filename += "-" + self.experiment_caption # f savestring in ['ad']: # save to DICOM filepath = 'dicom-' + filename filepath = os.path.join(odp, filepath) filepath = misc.suggest_filename(filepath) output_dicom_dir = filepath data = self.export() # mport ipdb; ipdb.set_trace() # BREAKPOINT overlays = { 3: (data['segmentation'] == self.output_label).astype(np.int8) } if self.dcmfilelist is not None: datawriter.saveOverlayToDicomCopy( self.dcmfilelist, output_dicom_dir, overlays, data['crinfo'], data['orig_shape'])
def main(): pyqtRemoveInputHook() QDir(QDir.homePath()).mkdir(".ricodebug") app = QApplication(sys.argv) app.setApplicationName("ricodebug") Icons() # We use all kinds of loggers here: # * a CriticalLogHandler that will abort the program whenever a critical error is received # * a FileHandler writing to a log in the home directory (all messages, for debugging) # * a LogViewHandler to have the log available in the GUI # * a ErrorLabelHandler that visually notifies the user of an error or a warning logger = logging.getLogger() formatter = logging.Formatter('[%(levelname)-8s] : %(filename)15s:%(lineno)4d/%(funcName)-20s : %(message)s') filehandler = logging.FileHandler(filename='%s/.ricodebug/ricodebug.log' % str(QDir.homePath())) filehandler.setFormatter(formatter) logger.addHandler(filehandler) logger.setLevel(logging.DEBUG) logger.addHandler(criticalloghandler.CriticalLogHandler()) window = MainWindow() logger.addHandler(window.logviewhandler) logger.addHandler(window.notificationFrameHandler) if (len(sys.argv) > 1): window.debugController.openExecutable(sys.argv[1]) window.show() logging.shutdown() sys.exit(app.exec_())
def debug_trace(): # Sets a tracepoint in the Python debugger that works with Qt from PyQt4.QtCore import pyqtRemoveInputHook from pdb import set_trace pyqtRemoveInputHook() set_trace()
def info(type, value, tb): from PyQt4.QtCore import pyqtRemoveInputHook for line in traceback.format_exception(type, value, tb): sys.stdout.write(line) pyqtRemoveInputHook() from pdb import pm pm()
def set_trace(): from PyQt4.QtCore import pyqtRemoveInputHook pyqtRemoveInputHook() import pdb pdb.Pdb().set_trace(sys._getframe().f_back)
def debug_after(*args, **kwargs): try: return func(*args, **kwargs) except Exception,e: from PyQt4.QtCore import pyqtRemoveInputHook pyqtRemoveInputHook() import pdb;pdb.set_trace()
def debug_trace(break_to = "ipy", use_globals = True): """ Set a tracepoint in the Python debugger that works with Qt (tested on pyqt and pyside 1.0.7) """ from PyQt4.QtCore import pyqtRemoveInputHook from IPython import embed from pdb import set_trace # Get the locals and globals dict from the location where this function # was called. import sys previous_frame = sys._getframe(1) l = previous_frame.f_locals if use_globals: g = previous_frame.f_globals namespace = g else: namespace = {} namespace.update(l) # Stop the QT check for gui event loop and put the break point pyqtRemoveInputHook() if break_to == "ipy": embed(user_ns=namespace) else: set_trace()
def _rls_to_pyd(r_ls): # base case is that the type is a native python type, rather # than an Rvector d = {} for name, val in zip(r_ls.getnames(), r_ls): try: # first check the key if str(name) != "NULL": print name print type(name) if "rpy2.robjects" in str(type(name)): name = str(name[0]) if not "rpy2.robjects" in str(type(val)): # base case; not an rtype object d[name] = val elif str(val)=="NULL": d[name] = None elif str(val.getnames())=="NULL": d[name] = val[0] else: d[name] = _rls_to_pyd(val) if not isinstance(name, str): raise Exception, "arg" else: # name is null return val except Exception, inst: print inst pyqtRemoveInputHook() pdb.set_trace()
def fout(*args,**kwargs): logger.info('Temporarily disabling figure interactivity') pyqtRemoveInputHook() out = fin(*args,**kwargs) pyqtRestoreInputHook() logger.info('Figure interactivity has been restored') return out
def dev_mode(back): # Help -> Developer Help steal_again = back.front.return_stdout() hs = back.hs # NOQA front = back.front wasBlocked = front.blockSignals(True) devmode = True # NOQA print(helpers.indent(str(hs), '[*back.hs] ')) rrr() print(r'[\back] finished dev_help') #app = back.app #from PyQt4 import QtGui #QtGui.qApp.quit() #app.exit() # Stop the main loop #app.quit() #if back.timer is not None: from PyQt4.QtCore import pyqtRemoveInputHook pyqtRemoveInputHook() #from IPython.lib.inputhook import enable_qt4 #enable_qt4() execstr = helpers.ipython_execstr() #print(execstr) print('Debugging in IPython. IPython will break gui until you exit') exec(execstr) if steal_again: back.front.steal_stdout() back.front.blockSignals(wasBlocked)
def debug_trace(): '''Set a tracepoint in the Python debugger that works with Qt''' if pyqt: from PyQt4.QtCore import pyqtRemoveInputHook from pdb import set_trace if pyqt: pyqtRemoveInputHook() set_trace()
def pdb(debug=False): print traceback.print_exc() if debug: from PyQt4.QtCore import pyqtRemoveInputHook import pdb pyqtRemoveInputHook() pdb.set_trace()
def debug_trace(trigger=False): '''Set a tracepoint in the Python debugger that works with Qt''' if trigger: return from PyQt4.QtCore import pyqtRemoveInputHook from pdb import set_trace pyqtRemoveInputHook() set_trace()
def debug_trace(): """ Set a tracepoint in the Python debugger that works with Qt :return: None """ from PyQt4.QtCore import pyqtRemoveInputHook #from pdb import set_trace pyqtRemoveInputHook()
def debug_trace(self, *args): '''Set a tracepoint in the Python debugger that works with Qt''' try: from PyQt4.QtCore import pyqtRemoveInputHook pyqtRemoveInputHook() except ImportError: pass self.set_trace(sys._getframe().f_back)
def main(): pyqtRemoveInputHook() os.environ['LANG'] = "en_EN.UTF-8" app = QtGui.QApplication(sys.argv) app.setStyle('Windows') # 'Windows', 'Motif', 'CDE', # 'Plastique', 'GTK+', 'Cleanlooks' mainform = MainForm(app) mainform.show() app.exec_()
def _enable_pdb(): # pragma: no cover from IPython.core import ultratb logger.debug("Enabling debugger.") from PyQt4.QtCore import pyqtRemoveInputHook pyqtRemoveInputHook() sys.excepthook = ultratb.FormattedTB(mode='Verbose', color_scheme='Linux', call_pdb=True, )
def pyqt_set_trace(): pyqtRemoveInputHook() debugger = pdb.Pdb() debugger.reset() debugger.do_next(None) users_frame = sys._getframe().f_back debugger.interaction(users_frame, None)
def set_trace(): pyqtRemoveInputHook() # set up the debugger debugger = pdb.Pdb() debugger.reset() # custom next to get outside of function scope debugger.do_next(None) # run the next command users_frame = sys._getframe().f_back # frame where the user invoked `pyqt_set_trace()` debugger.interaction(users_frame, None)
def debug_trace(): """Set a tracepoint in the Python debugger that works with Qt.""" if py_binding == 'PyQt4': from PyQt4.QtCore import pyqtRemoveInputHook elif py_binding == 'PySide': from PySide.QtCore import pyqtRemoveInputHook from pdb import set_trace pyqtRemoveInputHook() set_trace()
def get_display_effect(self, effect, group_str): try: if "display_est" in self.effects_dict[effect][group_str]: return self.effects_dict[effect][group_str]["display_est"] else: return None except: pyqtRemoveInputHook() pdb.set_trace()
def create_widget(): argv = sys.argv pyqtRemoveInputHook() window = IPythonWidget() window.embed_ipython() window.show() return window
def run_debug(self, event): """ Stop processing and start debugger in console. Function started by pressing "Debug" button wich is availeble after starting Lisa with -d parameter. """ logger.debug('== Starting debug mode, leave it with command "c" =') from PyQt4.QtCore import pyqtRemoveInputHook pyqtRemoveInputHook() import ipdb; ipdb.set_trace() # noqa BREAKPOINT
def ipdb_set_trace(): '''ipdb version''' try: import ipdb except ImportError: pass else: pyqtRemoveInputHook() ipdb.set_trace(sys._getframe(1)) pyqtRestoreInputHook()
def qt4_pdb(ipython=True): '''Set a tracepoint in the Python debugger that works with Qt''' from PyQt4.QtCore import pyqtRemoveInputHook pyqtRemoveInputHook() if ipython: from IPython.core.debugger import Tracer return Tracer(colors='Linux') else: from pdb import set_trace return set_trace
def get_config_as_dict(self): dictionary = self.config.as_dict() for key, value in dictionary.iteritems(): from PyQt4.QtCore import pyqtRemoveInputHook pyqtRemoveInputHook() # import ipdb; ipdb.set_trace() # noqa BREAKPOINT if type(value) == PyQt4.QtCore.QString: value = str(value) dictionary[key] = value return dictionary
def pyqt_trace(): '''Set a tracepoint in the Python debugger that works with Qt''' from PyQt4.QtCore import pyqtRemoveInputHook import pdb import sys pyqtRemoveInputHook() # set up the debugger debugger = pdb.Pdb() debugger.reset() # custom next to get outside of function scope debugger.do_next(None) # run the next command users_frame = sys._getframe().f_back # frame where the user invoked `pyqt_set_trace()` debugger.interaction(users_frame, None)
def main(): pyqtRemoveInputHook() QDir(QDir.homePath()).mkdir(".ricodebug") app = QApplication(sys.argv) app.setApplicationName("ricodebug") window = None Logger.getInstance().init("logfile", window) window = MainWindow() if (len(sys.argv) > 1): window.debug_controller.openExecutable(sys.argv[1]) window.show() sys.exit(app.exec_())
def set_trace(frame=None): ''' Set a tracepoint in the Python debugger that works with Qt Taken from: http://stackoverflow.com/questions/1736015/debugging-a-pyqt4-app ''' from PyQt4.QtCore import pyqtRemoveInputHook try: from ipdb import set_trace except ImportError: from pdb import set_trace pyqtRemoveInputHook() if frame is None: frame = sys._getframe().f_back return set_trace(frame)
def debug_start(): '''pdb.set_trace wrapper Notes ----- Basically to handle Qt debugging. This allows Qt apps to be debugged without issue with the event loop. Simply use this function instead of pdb.set_trace() But, also see debug_stop. ''' from pdb import set_trace try: from PyQt4.QtCore import pyqtRemoveInputHook pyqtRemoveInputHook() except NameError: pass set_trace()
def debug(): from PyQt4.QtCore import pyqtRemoveInputHook from pdb import set_trace pyqtRemoveInputHook() set_trace()
def debug_trace(): '''Set a tracepoint in the Python debugger that works with Qt''' from PyQt4.QtCore import pyqtRemoveInputHook from pdb import set_trace pyqtRemoveInputHook() set_trace()
def pdb(locals): pyqtRemoveInputHook() import pdb pdb.set_trace()