
    Mh                        d Z ddlmZ ddlZddlZddlmZmZ eZ	ej
        reej        ej        f         Z	 G d de	          ZdS )zTrait types for events.    )annotationsN)
TraitError	TraitTypec                  .    e Zd ZdZdZddZdd	Zdd
ZdS )HandlerszA trait that takes a list of logging handlers and converts
    it to a callable that returns that list (thus, making this
    trait pickleable).
    za list of logging handlersobjt.AnyvaluereturnNonec                    t          |          dk    r6|D ]5}t          |t          j                  du r|                     |           4dS dS )z#Validate the elements of an object.r   FN)len
isinstanceloggingHandlerelement_error)selfr   r
   els       U/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/jupyter_events/traits.pyvalidate_elementszHandlers.validate_elements   s]    u::>> , ,b'/22e;;&&s+++	 >, ,    c                P    d| j          d|j        j         d}t          |          )z Raise an error for bad elements.zElements in the 'z' trait of an z5 instance must be Python `logging` handler instances.)name	__class____name__r   )r   r   msgs      r   r   zHandlers.element_error   s?     I$)  I  I3=;Q  I  I  Ioor   c                    t          |          r" |            }|                     ||           |S t          |t                    r|                     ||           |S |                     ||           dS )zValidate an object.N)callabler   r   listerror)r   r   r
   outs       r   validatezHandlers.validate#   s     E?? 	%''C""3,,,J eT"" 	""3...L

3tr   N)r   r	   r
   r	   r   r   )r   r	   r   r   )r   r	   r
   r	   r   r	   )r   
__module____qualname____doc__	info_textr   r   r"    r   r   r   r      sa         
 -I, , , ,   
     r   r   )r%   
__future__r   r   typingt	traitletsr   r   	baseclassTYPE_CHECKINGAnyr   r'   r   r   <module>r/      s      " " " " " "      + + + + + + + +	? (!%,'I% % % % %y % % % % %r   