o
    Zh                     @   s8   d Z ddlZddlZG dd deZG dd deZdS )zX
Context managers for adding things to sys.path temporarily.

Authors:

* Brian Granger
    Nc                   @   (   e Zd ZdZdd Zdd Zdd ZdS )	appended_to_syspathzv
    Deprecated since IPython 8.1, no replacements.

    A context for appending a directory to sys.path for a second.c                 C   s   t jdtdd || _d S )NzN`appended_to_syspath` is deprecated since IPython 8.1, and has no replacements   )
stacklevel)warningswarnDeprecationWarningdirselfr	    r   S/var/www/html/lang_env/lib/python3.10/site-packages/IPython/utils/syspathcontext.py__init__   s   
zappended_to_syspath.__init__c                 C   s.   | j tjvrtj| j  d| _d S d| _d S )NTF)r	   syspathappendaddedr   r   r   r   	__enter__#   s   

zappended_to_syspath.__enter__c                 C   4   | j rz
tj| j W dS  ty   Y dS w dS NFr   r   r   remover	   
ValueErrorr   typevalue	tracebackr   r   r   __exit__*      zappended_to_syspath.__exit__N__name__
__module____qualname____doc__r   r   r   r   r   r   r   r      s
    r   c                   @   r   )	prepended_to_syspathz>A context for prepending a directory to sys.path for a second.c                 C   s
   || _ d S )N)r	   r
   r   r   r   r   6   s   
zprepended_to_syspath.__init__c                 C   s0   | j tjvrtjd| j  d| _d S d| _d S )Nr   TF)r	   r   r   insertr   r   r   r   r   r   9   s   

zprepended_to_syspath.__enter__c                 C   r   r   r   r   r   r   r   r   @   r   zprepended_to_syspath.__exit__Nr    r   r   r   r   r%   3   s
    r%   )r$   r   r   objectr   r%   r   r   r   r   <module>   s
   