##// END OF EJS Templates
Backport PR #2717: One liner to fix debugger printing stack traces when lines of context are larger than source....
Backport PR #2717: One liner to fix debugger printing stack traces when lines of context are larger than source. Correctly print stack traces when context is larger than lines of source. To test: ``` In [6]: def bar(): ...: return 20 ...: ``` Before: ``` In [7]: ipdb.runcall(bar) <ipython-input-6-d0ed3bd5e16c>(2)bar() 0 return 20 ``` And here's after: ``` In [6]: ipdb.runcall(bar) <ipython-input-5-d0ed3bd5e16c>(2)bar() 1 def bar(): ----> 2 return 20 ``` Replaces gh-2697. (Adds a test.)

File last commit:

r3603:600411fc
r9850:72c7e714
Show More
log.py
23 lines | 687 B | text/x-python | PythonLexer
MinRK
prep newparallel for rebase...
r3539 import logging
from logging import INFO, DEBUG, WARN, ERROR, FATAL
import zmq
from zmq.log.handlers import PUBHandler
class EnginePUBHandler(PUBHandler):
"""A simple PUBHandler subclass that sets root_topic"""
engine=None
def __init__(self, engine, *args, **kwargs):
PUBHandler.__init__(self,*args, **kwargs)
self.engine = engine
@property
def root_topic(self):
"""this is a property, in case the handler is created
before the engine gets registered with an id"""
if isinstance(getattr(self.engine, 'id', None), int):
return "engine.%i"%self.engine.id
else:
return "engine"