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.
		
		
		
		
		
			
		
			
				
	
	
		
			30 lines
		
	
	
		
			843 B
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			30 lines
		
	
	
		
			843 B
		
	
	
	
		
			Python
		
	
"""A PUB log handler."""
 | 
						|
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):
 | 
						|
        """Initialize the handler."""
 | 
						|
        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]
 | 
						|
        return "engine"
 |