
    9 f2                     F    d Z ddlZddlmZ ddlmZ  G d de          ZdS )zZ
A context manager for handling sys.displayhook.

Authors:

* Robert Kern
* Brian Granger
    N)Configurable)Anyc                   P     e Zd ZdZ e            Zd fd	Zd Zd Zd Z	d Z
 xZS )	DisplayTrapzObject to manage sys.displayhook.

    This came from IPython.core.kernel.display_hook, but is simplified
    (no callbacks or formatters) until more of the core is refactored.
    Nc                 x    t          t          |                               |d            d | _        d| _        d S )N)hookconfigr   )superr   __init__old_hook_nested_level)selfr   	__class__s     O/var/www/equiseq/venv/lib/python3.11/site-packages/IPython/core/display_trap.pyr   zDisplayTrap.__init__)   s=    k4  ))tD)AAA     c                 d    | j         dk    r|                                  | xj         dz  c_         | S )Nr      )r   setr   s    r   	__enter__zDisplayTrap.__enter__0   s6    ""HHJJJar   c                 d    | j         dk    r|                                  | xj         dz  c_         dS )Nr   F)r   unset)r   typevalue	tracebacks       r   __exit__zDisplayTrap.__exit__6   s6    ""JJLLLaur   c                 t    t           j        | j        ur$t           j        | _        | j        t           _        dS dS )zSet the hook.N)sysdisplayhookr   r   r   s    r   r   zDisplayTrap.set=   s/    ?$)++ODM"iCOOO ,+r   c                 (    | j         t          _        dS )zUnset the hook.N)r   r   r   r   s    r   r   zDisplayTrap.unsetC   s    -r   )N)__name__
__module____qualname____doc__r   r   r   r   r   r   r   __classcell__)r   s   @r   r   r       s          355D         ( ( (( ( ( ( ( ( (r   r   )r$   r   traitlets.config.configurabler   	traitletsr   r    r   r   <module>r)      sr    ( 


 6 6 6 6 6 6      %( %( %( %( %(, %( %( %( %( %(r   