##// END OF EJS Templates
Changing input filtering to require whitespace separation between the initial command (alias, magic, autocall) and rest of line. ...
Changing input filtering to require whitespace separation between the initial command (alias, magic, autocall) and rest of line. This fixes some subtle but nasty bugs with lines that start with, e.g. r'a_string'. They had been getting parsed as the magic %r followed by the string literal 'a_string' -- now that's been fixed.

File last commit:

r552:41204998
r707:8de6d199
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)