You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
798 B
Python

2 years ago
import warnings
from zmq.log.handlers import PUBHandler
warnings.warn(
"ipykernel.log is deprecated. It has moved to ipyparallel.engine.log",
DeprecationWarning,
stacklevel=2,
)
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 # type:ignore[misc]
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 # type:ignore[union-attr]
else:
return "engine"