##// END OF EJS Templates
pythonw in py3k sets std{in,out,err} to None...
pythonw in py3k sets std{in,out,err} to None The print statement works without error, even though the stdio file objects are instances of None. Since they are instances of None, however, the encoding attribute will not exist, so protect blind attribute access of std{in,out,err} by using a new function, get_stream_enc.

File last commit:

r2498:3eae1372
r6651:40ec4c33
Show More
ipy_pydb.py
31 lines | 813 B | text/x-python | PythonLexer
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)