def __init__(self,color_scheme='NoColor',completekey=None, stdin=None, stdout=None): # Parent constructor: if has_pydb and completekey is None: OldPdb.__init__(self,stdin=stdin,stdout=io.stdout) else: OldPdb.__init__(self,completekey,stdin,stdout) self.prompt = prompt # The default prompt is '(Pdb)' # IPython changes... self.is_pydb = has_pydb self.shell = ipapi.get() if self.is_pydb: # interactiveshell.py's ipalias seems to want pdb's checkline # which located in pydb.fn import pydb.fns self.checkline = lambda filename, lineno: \ pydb.fns.checkline(self, filename, lineno) self.curframe = None self.do_restart = self.new_do_restart self.old_all_completions = self.shell.Completer.all_completions self.shell.Completer.all_completions=self.all_completions self.do_list = decorate_fn_with_doc(self.list_command_pydb, OldPdb.do_list) self.do_l = self.do_list self.do_frame = decorate_fn_with_doc(self.new_do_frame, OldPdb.do_frame) self.aliases = {} # Create color table: we copy the default one from the traceback # module and add a few attributes needed for debugging self.color_scheme_table = exception_colors() # shorthands C = coloransi.TermColors cst = self.color_scheme_table cst['NoColor'].colors.breakpoint_enabled = C.NoColor cst['NoColor'].colors.breakpoint_disabled = C.NoColor cst['Linux'].colors.breakpoint_enabled = C.LightRed cst['Linux'].colors.breakpoint_disabled = C.Red cst['LightBG'].colors.breakpoint_enabled = C.LightRed cst['LightBG'].colors.breakpoint_disabled = C.Red self.set_colors(color_scheme) # Add a python parser so we can syntax highlight source while # debugging. self.parser = PyColorize.Parser()
def __init__(self, color_scheme='NoColor', call_pdb=False, ostream=None, parent=None, config=None): # Whether to call the interactive pdb debugger after printing # tracebacks or not super(TBTools, self).__init__(parent=parent, config=config) self.call_pdb = call_pdb # Output stream to write to. Note that we store the original value in # a private attribute and then make the public ostream a property, so # that we can delay accessing sys.stdout until runtime. The way # things are written now, the sys.stdout object is dynamically managed # so a reference to it should NEVER be stored statically. This # property approach confines this detail to a single location, and all # subclasses can simply access self.ostream for writing. self._ostream = ostream # Create color table self.color_scheme_table = exception_colors() self.set_colors(color_scheme) self.old_scheme = color_scheme # save initial value for toggles if call_pdb: self.pdb = debugger.Pdb() else: self.pdb = None
def __init__(self, color_scheme=None, completekey=None, stdin=None, stdout=None, context=5): # Parent constructor: try: self.context = int(context) if self.context <= 0: raise ValueError("Context must be a positive integer") except (TypeError, ValueError): raise ValueError("Context must be a positive integer") OldPdb.__init__(self, completekey, stdin, stdout) # IPython changes... self.shell = get_ipython() if self.shell is None: # No IPython instance running, we must create one from IPython.terminal.interactiveshell import TerminalInteractiveShell self.shell = TerminalInteractiveShell.instance() if color_scheme is not None: warnings.warn("The `color_scheme` argument is deprecated since version 5.1", DeprecationWarning) else: color_scheme = self.shell.colors self.aliases = {} # Create color table: we copy the default one from the traceback # module and add a few attributes needed for debugging self.color_scheme_table = exception_colors() # shorthands C = coloransi.TermColors cst = self.color_scheme_table cst["NoColor"].colors.prompt = C.NoColor cst["NoColor"].colors.breakpoint_enabled = C.NoColor cst["NoColor"].colors.breakpoint_disabled = C.NoColor cst["Linux"].colors.prompt = C.Green cst["Linux"].colors.breakpoint_enabled = C.LightRed cst["Linux"].colors.breakpoint_disabled = C.Red cst["LightBG"].colors.prompt = C.Blue cst["LightBG"].colors.breakpoint_enabled = C.LightRed cst["LightBG"].colors.breakpoint_disabled = C.Red cst["Neutral"].colors.prompt = C.Blue cst["Neutral"].colors.breakpoint_enabled = C.LightRed cst["Neutral"].colors.breakpoint_disabled = C.Red self.set_colors(color_scheme) # Add a python parser so we can syntax highlight source while # debugging. self.parser = PyColorize.Parser() # Set the prompt - the default prompt is '(Pdb)' self.prompt = prompt
def __init__(self,color_scheme='NoColor',completekey=None, stdin=None, stdout=None, context=5): # Parent constructor: try: self.context=int(context) if self.context <= 0: raise ValueError("Context must be a positive integer") except (TypeError, ValueError): raise ValueError("Context must be a positive integer") OldPdb.__init__(self,completekey,stdin,stdout) # IPython changes... self.shell = get_ipython() if self.shell is None: # No IPython instance running, we must create one from IPython.terminal.interactiveshell import \ TerminalInteractiveShell self.shell = TerminalInteractiveShell.instance() self.aliases = {} # Create color table: we copy the default one from the traceback # module and add a few attributes needed for debugging self.color_scheme_table = exception_colors() # shorthands C = coloransi.TermColors cst = self.color_scheme_table cst['NoColor'].colors.prompt = C.NoColor cst['NoColor'].colors.breakpoint_enabled = C.NoColor cst['NoColor'].colors.breakpoint_disabled = C.NoColor cst['Linux'].colors.prompt = C.Green cst['Linux'].colors.breakpoint_enabled = C.LightRed cst['Linux'].colors.breakpoint_disabled = C.Red cst['LightBG'].colors.prompt = C.Blue cst['LightBG'].colors.breakpoint_enabled = C.LightRed cst['LightBG'].colors.breakpoint_disabled = C.Red self.set_colors(color_scheme) # Add a python parser so we can syntax highlight source while # debugging. self.parser = PyColorize.Parser() # Set the prompt - the default prompt is '(Pdb)' Colors = cst.active_colors if color_scheme == 'NoColor': self.prompt = prompt else: # The colour markers are wrapped by bytes 01 and 02 so that readline # can calculate the width. self.prompt = u'\x01%s\x02%s\x01%s\x02' % (Colors.prompt, prompt, Colors.Normal)
def __init__(self, color_scheme='NoColor', completekey=None, stdin=None, stdout=None, context=5): # Parent constructor: try: self.context = int(context) if self.context <= 0: raise ValueError("Context must be a positive integer") except (TypeError, ValueError): raise ValueError("Context must be a positive integer") OldPdb.__init__(self, completekey, stdin, stdout) # IPython changes... self.shell = get_ipython() if self.shell is None: # No IPython instance running, we must create one from IPython.terminal.interactiveshell import \ TerminalInteractiveShell self.shell = TerminalInteractiveShell.instance() self.aliases = {} # Create color table: we copy the default one from the traceback # module and add a few attributes needed for debugging self.color_scheme_table = exception_colors() # shorthands C = coloransi.TermColors cst = self.color_scheme_table cst['NoColor'].colors.prompt = C.NoColor cst['NoColor'].colors.breakpoint_enabled = C.NoColor cst['NoColor'].colors.breakpoint_disabled = C.NoColor cst['Linux'].colors.prompt = C.Green cst['Linux'].colors.breakpoint_enabled = C.LightRed cst['Linux'].colors.breakpoint_disabled = C.Red cst['LightBG'].colors.prompt = C.Blue cst['LightBG'].colors.breakpoint_enabled = C.LightRed cst['LightBG'].colors.breakpoint_disabled = C.Red self.set_colors(color_scheme) # Add a python parser so we can syntax highlight source while # debugging. self.parser = PyColorize.Parser() # Set the prompt - the default prompt is '(Pdb)' self.prompt = prompt
def __init__(self, color_scheme='NoColor', call_pdb=False): # Whether to call the interactive pdb debugger after printing # tracebacks or not self.call_pdb = call_pdb # Create color table self.color_scheme_table = exception_colors() self.set_colors(color_scheme) self.old_scheme = color_scheme # save initial value for toggles if call_pdb: self.pdb = debugger.Pdb(self.color_scheme_table.active_scheme_name) else: self.pdb = None
def __init__(self,color_scheme = 'NoColor',call_pdb=False): # Whether to call the interactive pdb debugger after printing # tracebacks or not self.call_pdb = call_pdb # Create color table self.color_scheme_table = exception_colors() self.set_colors(color_scheme) self.old_scheme = color_scheme # save initial value for toggles if call_pdb: self.pdb = debugger.Pdb(self.color_scheme_table.active_scheme_name) else: self.pdb = None
def __init__(self, color_scheme='NoColor'): bdb.Bdb.__init__(self) cmd.Cmd.__init__(self, completekey=None) # don't load readline self.prompt = 'ipdb> ' # The default prompt is '(Pdb)' self.aliases = {} # These two lines are part of the py2.4 constructor, let's put them # unconditionally here as they won't cause any problems in 2.3. self.mainpyfile = '' self._wait_for_mainpyfile = 0 # Read $HOME/.pdbrc and ./.pdbrc try: self.rcLines = _file_lines( os.path.join(os.environ['HOME'], ".pdbrc")) except KeyError: self.rcLines = [] self.rcLines.extend(_file_lines(".pdbrc")) # Create color table: we copy the default one from the traceback # module and add a few attributes needed for debugging self.color_scheme_table = exception_colors() # shorthands C = coloransi.TermColors cst = self.color_scheme_table cst['NoColor'].colors.breakpoint_enabled = C.NoColor cst['NoColor'].colors.breakpoint_disabled = C.NoColor cst['Linux'].colors.breakpoint_enabled = C.LightRed cst['Linux'].colors.breakpoint_disabled = C.Red cst['LightBG'].colors.breakpoint_enabled = C.LightRed cst['LightBG'].colors.breakpoint_disabled = C.Red self.set_colors(color_scheme) # Add a python parser so we can syntax highlight source while # debugging. self.parser = PyColorize.Parser()
def __init__(self, color_scheme='NoColor', call_pdb=False, ostream=None): # Whether to call the interactive pdb debugger after printing # tracebacks or not self.call_pdb = call_pdb # Output stream to write to. Note that we store the original value in # a private attribute and then make the public ostream a property, so # that we can delay accessing io.stdout until runtime. The way # things are written now, the io.stdout object is dynamically managed # so a reference to it should NEVER be stored statically. This # property approach confines this detail to a single location, and all # subclasses can simply access self.ostream for writing. self._ostream = ostream # Create color table self.color_scheme_table = exception_colors() self.set_colors(color_scheme) self.old_scheme = color_scheme # save initial value for toggles if call_pdb: self.pdb = debugger.Pdb(self.color_scheme_table.active_scheme_name) else: self.pdb = None
def __init__(self, color_scheme=None, completekey=None, stdin=None, stdout=None, context=5, **kwargs): """Create a new IPython debugger. Parameters ---------- color_scheme : default None Deprecated, do not use. completekey : default None Passed to pdb.Pdb. stdin : default None Passed to pdb.Pdb. stdout : default None Passed to pdb.Pdb. context : int Number of lines of source code context to show when displaying stacktrace information. **kwargs Passed to pdb.Pdb. Notes ----- The possibilities are python version dependent, see the python docs for more info. """ # Parent constructor: try: self.context = int(context) if self.context <= 0: raise ValueError("Context must be a positive integer") except (TypeError, ValueError) as e: raise ValueError("Context must be a positive integer") from e # `kwargs` ensures full compatibility with stdlib's `pdb.Pdb`. OldPdb.__init__(self, completekey, stdin, stdout, **kwargs) # IPython changes... self.shell = get_ipython() if self.shell is None: save_main = sys.modules['__main__'] # No IPython instance running, we must create one from IPython.terminal.interactiveshell import \ TerminalInteractiveShell self.shell = TerminalInteractiveShell.instance() # needed by any code which calls __import__("__main__") after # the debugger was entered. See also #9941. sys.modules["__main__"] = save_main if color_scheme is not None: warnings.warn( "The `color_scheme` argument is deprecated since version 5.1", DeprecationWarning, stacklevel=2) else: color_scheme = self.shell.colors self.aliases = {} # Create color table: we copy the default one from the traceback # module and add a few attributes needed for debugging self.color_scheme_table = exception_colors() # shorthands C = coloransi.TermColors cst = self.color_scheme_table cst['NoColor'].colors.prompt = C.NoColor cst['NoColor'].colors.breakpoint_enabled = C.NoColor cst['NoColor'].colors.breakpoint_disabled = C.NoColor cst['Linux'].colors.prompt = C.Green cst['Linux'].colors.breakpoint_enabled = C.LightRed cst['Linux'].colors.breakpoint_disabled = C.Red cst['LightBG'].colors.prompt = C.Blue cst['LightBG'].colors.breakpoint_enabled = C.LightRed cst['LightBG'].colors.breakpoint_disabled = C.Red cst['Neutral'].colors.prompt = C.Blue cst['Neutral'].colors.breakpoint_enabled = C.LightRed cst['Neutral'].colors.breakpoint_disabled = C.Red # Add a python parser so we can syntax highlight source while # debugging. self.parser = PyColorize.Parser(style=color_scheme) self.set_colors(color_scheme) # Set the prompt - the default prompt is '(Pdb)' self.prompt = prompt self.skip_hidden = True self.report_skipped = True # list of predicates we use to skip frames self._predicates = self.default_predicates
def __init__(self, color_scheme="NoColor", completekey=None, stdin=None, stdout=None): # Parent constructor: if has_pydb and completekey is None: OldPdb.__init__(self, stdin=stdin, stdout=io.stdout) else: OldPdb.__init__(self, completekey, stdin, stdout) # IPython changes... self.is_pydb = has_pydb self.shell = get_ipython() if self.shell is None: # No IPython instance running, we must create one from IPython.terminal.interactiveshell import TerminalInteractiveShell self.shell = TerminalInteractiveShell.instance() if self.is_pydb: # interactiveshell.py's ipalias seems to want pdb's checkline # which located in pydb.fn import pydb.fns self.checkline = lambda filename, lineno: pydb.fns.checkline(self, filename, lineno) self.curframe = None self.do_restart = self.new_do_restart self.old_all_completions = self.shell.Completer.all_completions self.shell.Completer.all_completions = self.all_completions self.do_list = decorate_fn_with_doc(self.list_command_pydb, OldPdb.do_list) self.do_l = self.do_list self.do_frame = decorate_fn_with_doc(self.new_do_frame, OldPdb.do_frame) self.aliases = {} # Create color table: we copy the default one from the traceback # module and add a few attributes needed for debugging self.color_scheme_table = exception_colors() # shorthands C = coloransi.TermColors cst = self.color_scheme_table cst["NoColor"].colors.prompt = C.NoColor cst["NoColor"].colors.breakpoint_enabled = C.NoColor cst["NoColor"].colors.breakpoint_disabled = C.NoColor cst["Linux"].colors.prompt = C.Green cst["Linux"].colors.breakpoint_enabled = C.LightRed cst["Linux"].colors.breakpoint_disabled = C.Red cst["LightBG"].colors.prompt = C.Blue cst["LightBG"].colors.breakpoint_enabled = C.LightRed cst["LightBG"].colors.breakpoint_disabled = C.Red self.set_colors(color_scheme) # Add a python parser so we can syntax highlight source while # debugging. self.parser = PyColorize.Parser() # Set the prompt Colors = cst.active_colors self.prompt = u"%s%s%s" % (Colors.prompt, prompt, Colors.Normal) # The default prompt is '(Pdb)'
def __init__(self, color_scheme='NoColor', completekey=None, stdin=None, stdout=None, context=5): # Parent constructor: try: self.context = int(context) if self.context <= 0: raise ValueError("Context must be a positive integer") except (TypeError, ValueError): raise ValueError("Context must be a positive integer") if has_pydb and completekey is None: OldPdb.__init__(self, stdin=stdin, stdout=io.stdout) else: OldPdb.__init__(self, completekey, stdin, stdout) # IPython changes... self.is_pydb = has_pydb self.shell = get_ipython() if self.shell is None: # No IPython instance running, we must create one from IPython.terminal.interactiveshell import \ TerminalInteractiveShell self.shell = TerminalInteractiveShell.instance() if self.is_pydb: # interactiveshell.py's ipalias seems to want pdb's checkline # which located in pydb.fn import pydb.fns self.checkline = lambda filename, lineno: \ pydb.fns.checkline(self, filename, lineno) self.curframe = None self.do_restart = self.new_do_restart self.old_all_completions = self.shell.Completer.all_completions self.shell.Completer.all_completions = self.all_completions self.do_list = decorate_fn_with_doc(self.list_command_pydb, OldPdb.do_list) self.do_l = self.do_list self.do_frame = decorate_fn_with_doc(self.new_do_frame, OldPdb.do_frame) self.aliases = {} # Create color table: we copy the default one from the traceback # module and add a few attributes needed for debugging self.color_scheme_table = exception_colors() # shorthands C = coloransi.TermColors cst = self.color_scheme_table cst['NoColor'].colors.prompt = C.NoColor cst['NoColor'].colors.breakpoint_enabled = C.NoColor cst['NoColor'].colors.breakpoint_disabled = C.NoColor cst['Linux'].colors.prompt = C.Green cst['Linux'].colors.breakpoint_enabled = C.LightRed cst['Linux'].colors.breakpoint_disabled = C.Red cst['LightBG'].colors.prompt = C.Blue cst['LightBG'].colors.breakpoint_enabled = C.LightRed cst['LightBG'].colors.breakpoint_disabled = C.Red self.set_colors(color_scheme) # Add a python parser so we can syntax highlight source while # debugging. self.parser = PyColorize.Parser() # Set the prompt - the default prompt is '(Pdb)' Colors = cst.active_colors if color_scheme == 'NoColor': self.prompt = prompt else: # The colour markers are wrapped by bytes 01 and 02 so that readline # can calculate the width. self.prompt = u'\x01%s\x02%s\x01%s\x02' % (Colors.prompt, prompt, Colors.Normal)
def __init__(self, color_scheme=None, completekey=None, stdin=None, stdout=None, context=5): # Parent constructor: try: self.context = int(context) if self.context <= 0: raise ValueError("Context must be a positive integer") except (TypeError, ValueError): raise ValueError("Context must be a positive integer") OldPdb.__init__(self, completekey, stdin, stdout) # IPython changes... self.shell = get_ipython() if self.shell is None: save_main = sys.modules['__main__'] # No IPython instance running, we must create one from IPython.terminal.interactiveshell import \ TerminalInteractiveShell self.shell = TerminalInteractiveShell.instance() # needed by any code which calls __import__("__main__") after # the debugger was entered. See also #9941. sys.modules['__main__'] = save_main if color_scheme is not None: warnings.warn( "The `color_scheme` argument is deprecated since version 5.1", DeprecationWarning) else: color_scheme = self.shell.colors self.aliases = {} # Create color table: we copy the default one from the traceback # module and add a few attributes needed for debugging self.color_scheme_table = exception_colors() # shorthands C = coloransi.TermColors cst = self.color_scheme_table cst['NoColor'].colors.prompt = C.NoColor cst['NoColor'].colors.breakpoint_enabled = C.NoColor cst['NoColor'].colors.breakpoint_disabled = C.NoColor cst['Linux'].colors.prompt = C.Green cst['Linux'].colors.breakpoint_enabled = C.LightRed cst['Linux'].colors.breakpoint_disabled = C.Red cst['LightBG'].colors.prompt = C.Blue cst['LightBG'].colors.breakpoint_enabled = C.LightRed cst['LightBG'].colors.breakpoint_disabled = C.Red cst['Neutral'].colors.prompt = C.Blue cst['Neutral'].colors.breakpoint_enabled = C.LightRed cst['Neutral'].colors.breakpoint_disabled = C.Red self.set_colors(color_scheme) # Add a python parser so we can syntax highlight source while # debugging. self.parser = PyColorize.Parser() # Set the prompt - the default prompt is '(Pdb)' self.prompt = prompt
def __init__(self,color_scheme='NoColor',completekey=None, stdin=None, stdout=None, context=5): # Parent constructor: try: self.context=int(context) if self.context <= 0: raise ValueError("Context must be a positive integer") except (TypeError, ValueError): raise ValueError("Context must be a positive integer") if has_pydb and completekey is None: OldPdb.__init__(self,stdin=stdin,stdout=io.stdout) else: OldPdb.__init__(self,completekey,stdin,stdout) # IPython changes... self.is_pydb = has_pydb self.shell = get_ipython() if self.shell is None: # No IPython instance running, we must create one from IPython.terminal.interactiveshell import \ TerminalInteractiveShell self.shell = TerminalInteractiveShell.instance() if self.is_pydb: # interactiveshell.py's ipalias seems to want pdb's checkline # which located in pydb.fn import pydb.fns self.checkline = lambda filename, lineno: \ pydb.fns.checkline(self, filename, lineno) self.curframe = None self.do_restart = self.new_do_restart self.old_all_completions = self.shell.Completer.all_completions self.shell.Completer.all_completions=self.all_completions self.do_list = decorate_fn_with_doc(self.list_command_pydb, OldPdb.do_list) self.do_l = self.do_list self.do_frame = decorate_fn_with_doc(self.new_do_frame, OldPdb.do_frame) self.aliases = {} # Create color table: we copy the default one from the traceback # module and add a few attributes needed for debugging self.color_scheme_table = exception_colors() # shorthands C = coloransi.TermColors cst = self.color_scheme_table cst['NoColor'].colors.prompt = C.NoColor cst['NoColor'].colors.breakpoint_enabled = C.NoColor cst['NoColor'].colors.breakpoint_disabled = C.NoColor cst['Linux'].colors.prompt = C.Green cst['Linux'].colors.breakpoint_enabled = C.LightRed cst['Linux'].colors.breakpoint_disabled = C.Red cst['LightBG'].colors.prompt = C.Blue cst['LightBG'].colors.breakpoint_enabled = C.LightRed cst['LightBG'].colors.breakpoint_disabled = C.Red self.set_colors(color_scheme) # Add a python parser so we can syntax highlight source while # debugging. self.parser = PyColorize.Parser() # Set the prompt - the default prompt is '(Pdb)' Colors = cst.active_colors if color_scheme == 'NoColor': self.prompt = prompt else: # The colour markers are wrapped by bytes 01 and 02 so that readline # can calculate the width. self.prompt = u'\x01%s\x02%s\x01%s\x02' % (Colors.prompt, prompt, Colors.Normal)