ipy_pydb.py
31 lines
| 814 B
| text/x-python
|
PythonLexer
vivainio
|
r503 | import inspect | ||
Brian Granger
|
r2027 | from IPython.core import ipapi | ||
Brian Granger
|
r2023 | from IPython.utils.genutils import arg_split | ||
Brian Granger
|
r2027 | ip = ipapi.get() | ||
vivainio
|
r503 | |||
Brian Granger
|
r2015 | from IPython.core import debugger | ||
vivainio
|
r503 | |||
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: | ||||
Brian Granger
|
r2202 | pdb = debugger.Pdb(color_scheme=self.colors) | ||
Brian Granger
|
r2205 | ip.history_saving_wrapper( lambda : pydb.runv(argl, pdb) )() | ||
vivainio
|
r503 | else: | ||
Brian Granger
|
r2205 | ip.history_saving_wrapper( lambda : pydb.runv(argl) )() | ||
vivainio
|
r503 | |||
Brian Granger
|
r2205 | ip.define_magic("pydb",call_pydb) | ||
vivainio
|
r503 | |||