You can not 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
29 lines
798 B
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"
|