B
    Çä˜\ž  ã               @   s0   d 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               @   s(   e Zd ZdZdd„ Zdd„ Zdd„ ZdS )	Úappended_to_syspathz=A context for appending a directory to sys.path for a second.c             C   s
   || _ d S )N)Údir)Úselfr   © r   ú;lib/python3.7/site-packages/IPython/utils/syspathcontext.pyÚ__init__   s    zappended_to_syspath.__init__c             C   s,   | j tjkr"tj | j ¡ d| _nd| _d S )NTF)r   ÚsysÚpathÚappendÚadded)r   r   r   r   Ú	__enter__   s    zappended_to_syspath.__enter__c             C   s2   | j r.ytj | j¡ W n tk
r,   Y nX dS )NF)r   r   r	   Úremover   Ú
ValueError)r   ÚtypeÚvalueÚ	tracebackr   r   r   Ú__exit__!   s    zappended_to_syspath.__exit__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r      s   r   c               @   s(   e Zd ZdZdd„ Zdd„ Zdd„ ZdS )	Ú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   r   -   s    zprepended_to_syspath.__init__c             C   s.   | j tjkr$tj d| j ¡ d| _nd| _d S )Nr   TF)r   r   r	   Úinsertr   )r   r   r   r   r   0   s    zprepended_to_syspath.__enter__c             C   s2   | j r.ytj | j¡ W n tk
r,   Y nX dS )NF)r   r   r	   r   r   r   )r   r   r   r   r   r   r   r   7   s    zprepended_to_syspath.__exit__N)r   r   r   r   r   r   r   r   r   r   r   r   *   s   r   )r   r   Úobjectr   r   r   r   r   r   Ú<module>   s   	