File: ipy_pydb.py

package info (click to toggle)
ipython 0.13.1-2%2Bdeb7u1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 15,752 kB
  • sloc: python: 69,537; makefile: 355; lisp: 272; sh: 80; objc: 37
file content (31 lines) | stat: -rw-r--r-- 813 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import inspect
from IPython.core import ipapi
from IPython.utils.process import arg_split
ip = ipapi.get()

from IPython.core 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.colors)
        ip.history_saving_wrapper( lambda : pydb.runv(argl, pdb) )()
    else:
        ip.history_saving_wrapper( lambda : pydb.runv(argl) )()

    
ip.define_magic("pydb",call_pydb)