##// END OF EJS Templates
Fix bug: https://bugs.launchpad.net/ipython/+bug/269966 This fixes a long-standing and serious problem with long-running IPython sessions. Finally! Many thanks to John D. Hunter and Sameer D'Costa for the feedback, especially for Sameer's patch that finally put me on the right track for a clean solution.

File last commit:

r1554:1f3ce460
r1856:2f5ba090
Show More
ipy_pydb.py
31 lines | 810 B | text/x-python | PythonLexer
import inspect
import IPython.ipapi
from IPython.genutils import arg_split
ip = IPython.ipapi.get()
from IPython import Debugger
def call_pydb(self, args):
"""Invoke pydb with the supplied parameters."""
try:
import pydb
except ImportError:
raise ImportError("pydb doesn't seem to be installed.")
if not hasattr(pydb.pydb, "runv"):
raise ImportError("You need pydb version 1.19 or later installed.")
argl = arg_split(args)
# print argl # dbg
if len(inspect.getargspec(pydb.runv)[0]) == 2:
pdb = Debugger.Pdb(color_scheme=self.rc.colors)
ip.IP.history_saving_wrapper( lambda : pydb.runv(argl, pdb) )()
else:
ip.IP.history_saving_wrapper( lambda : pydb.runv(argl) )()
ip.expose_magic("pydb",call_pydb)