o
    û›h2  ã                   @   s8   d Z ddlZddlmZ ddlmZ G dd„ deƒZdS )zZ
A context manager for handling sys.displayhook.

Authors:

* Robert Kern
* Brian Granger
é    N)ÚConfigurable)ÚAnyc                       sH   e Zd ZdZeƒ Zd‡ fdd„	Zdd„ Zdd„ Zd	d
„ Z	dd„ Z
‡  ZS )ÚDisplayTrapzµObject 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                    s$   t t| ƒj|d d� d | _d| _d S )N)ÚhookÚconfigr   )Úsuperr   Ú__init__Úold_hookÚ_nested_level)Úselfr   ©Ú	__class__© úOc:\Users\shubh\Videos\agent\nova\Lib\site-packages\IPython/core/display_trap.pyr   )   s   
zDisplayTrap.__init__c                 C   s$   | j dkr	|  ¡  |  j d7  _ | S )Nr   é   )r
   Úset©r   r   r   r   Ú	__enter__0   s   
zDisplayTrap.__enter__c                 C   s$   | j dkr	|  ¡  |  j d8  _ dS )Nr   F)r
   Úunset)r   ÚtypeÚvalueÚ	tracebackr   r   r   Ú__exit__6   s   
zDisplayTrap.__exit__c                 C   s$   t j| jurt j| _| jt _dS dS )zSet the hook.N)ÚsysÚdisplayhookr   r	   r   r   r   r   r   =   s   þzDisplayTrap.setc                 C   s   | j t_dS )zUnset the hook.N)r	   r   r   r   r   r   r   r   C   s   zDisplayTrap.unset)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   Ú__classcell__r   r   r   r   r       s    r   )r   r   Ztraitlets.config.configurabler   Z	traitletsr   r   r   r   r   r   Ú<module>   s
   