
    ^h2                     >    S r SSKrSSKJr  SSKJr   " S S\5      rg)zZ
A context manager for handling sys.displayhook.

Authors:

* Robert Kern
* Brian Granger
    N)Configurable)Anyc                   V   ^  \ rS rSrSr\" 5       rS	U 4S jjrS rS r	S r
S rSrU =r$ )
DisplayTrap    zObject 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.
c                 F   > [         [        U ]  US S9  S U l        SU l        g )N)hookconfigr   )superr   __init__old_hook_nested_level)selfr	   	__class__s     S/home/james-whalen/.local/lib/python3.13/site-packages/IPython/core/display_trap.pyr   DisplayTrap.__init__)   s(    k4)tD)A     c                 p    U R                   S:X  a  U R                  5         U =R                   S-  sl         U $ )Nr      )r   setr   s    r   	__enter__DisplayTrap.__enter__0   s/    "HHJar   c                 n    U R                   S:X  a  U R                  5         U =R                   S-  sl         g)Nr   F)r   unset)r   typevalue	tracebacks       r   __exit__DisplayTrap.__exit__6   s-    "JJLar   c                     [         R                  U R                  La+  [         R                  U l        U R                  [         l        gg)zSet the hook.N)sysdisplayhookr	   r   r   s    r   r   DisplayTrap.set=   s-    ??$))+OODM"iiCO ,r   c                 .    U R                   [        l        g)zUnset the hook.N)r   r"   r#   r   s    r   r   DisplayTrap.unsetC   s    --r   )r   r   )N)__name__
__module____qualname____firstlineno____doc__r   r	   r   r   r   r   r   __static_attributes____classcell__)r   s   @r   r   r       s/     5D(( (r   r   )r+   r"   traitlets.config.configurabler   	traitletsr   r    r   r   <module>r1      s!   (  6 %(, %(r   