1from zmq.log.handlers import PUBHandler
2
3import warnings
4warnings.warn("ipykernel.log is deprecated. It has moved to ipyparallel.engine.log",
5    DeprecationWarning,
6    stacklevel=2
7)
8
9class EnginePUBHandler(PUBHandler):
10    """A simple PUBHandler subclass that sets root_topic"""
11    engine=None
12
13    def __init__(self, engine, *args, **kwargs):
14        PUBHandler.__init__(self,*args, **kwargs)
15        self.engine = engine
16
17    @property
18    def root_topic(self):
19        """this is a property, in case the handler is created
20        before the engine gets registered with an id"""
21        if isinstance(getattr(self.engine, 'id', None), int):
22            return "engine.%i"%self.engine.id
23        else:
24            return "engine"
25