+
    ^|´i<  ã                   óT   € R t ^ RIt^ RIHt ^ RIHt  ! R R4      t ! R R]4      tR# )a  This module contains classes - NamedFileInTemporaryDirectory, TemporaryWorkingDirectory.

These classes add extra features such as creating a named file in temporary directory and
creating a context manager for the working directory which is also temporary.
N)ÚPath)ÚTemporaryDirectoryc                   ó@   a € ] tR t^t o RR ltR t]tR tR tRt	V t
R# )ÚNamedFileInTemporaryDirectoryc                ó¬   € \        R/ VB V n        \        V P                  P                  4      V,          pRV9   d   RMRp\	        WbW7R7      V n        R# )a  
Open a file named `filename` in a temporary directory.

This context manager is preferred over `NamedTemporaryFile` in
stdlib `tempfile` when one needs to reopen the file.

Arguments `mode` and `bufsize` are passed to `open`.
Rest of the arguments are passed to `TemporaryDirectory`.

ÚbNzutf-8)Úencoding© )r   Ú_tmpdirr   ÚnameÚopenÚfile)ÚselfÚfilenameÚmodeÚbufsizeÚadd_to_syspathÚkwdsÚpathr   s   &&&&&,  Ú7/usr/lib/python3/dist-packages/IPython/utils/tempdir.pyÚ__init__Ú&NamedFileInTemporaryDirectory.__init__   sG   € ô *Ñ1¨DÑ1ˆŒÜD—L‘L×%Ñ%Ó&¨Õ1ˆØ $œ;‘4¨GˆÜ˜ WÔ@ˆŽ	ó    c                ón   € V P                   P                  4        V P                  P                  4        R # ©N)r   Úcloser
   Úcleanup©r   s   &r   r   Ú%NamedFileInTemporaryDirectory.cleanup   s    € Ø	‰	‰ÔØ‰×ÑÖr   c                ó   € V P                   # r   )r   r   s   &r   Ú	__enter__Ú'NamedFileInTemporaryDirectory.__enter__#   s   € Øy‰yÐr   c                ó&   € V P                  4        R # r   )r   )r   ÚtypeÚvalueÚ	tracebacks   &&&&r   Ú__exit__Ú&NamedFileInTemporaryDirectory.__exit__&   s   € Ø‰Žr   )r
   r   N)éÿÿÿÿF)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   Ú__del__r    r&   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      s&   ø‡ € ôAò ð €Gò÷ð r   r   c                   óB   a a€ ] tR t^*t oRtV 3R ltV 3R ltRtVtV ;t	# )ÚTemporaryWorkingDirectoryzÃ
Creates a temporary directory and sets the cwd to that directory.
Automatically reverts to previous cwd upon cleanup.
Usage example:

    with TemporaryWorkingDirectory() as tmpdir:
        ...
c                óœ   <€ \         P                  ! 4       V n        \        P                  ! V P
                  4       \        \        V `#  4       # r   )	r   ÚcwdÚold_wdÚ_osÚchdirr   Úsuperr2   r    )r   Ú	__class__s   &€r   r    Ú#TemporaryWorkingDirectory.__enter__4   s1   ø€ Ü—h’h“jˆŒÜ	Š	$—)‘)ÔÜÔ.°Ñ?ÓAÐAr   c                ól   <€ \         P                  ! V P                  4       \        \        V `  WV4      # r   )r6   r7   r5   r8   r2   r&   )r   Úexcr$   Útbr9   s   &&&&€r   r&   Ú"TemporaryWorkingDirectory.__exit__9   s(   ø€ Ü	Š	$—+‘+ÔÜÔ.°Ñ>¸sÈ2ÓNÐNr   )r5   )
r)   r*   r+   r,   Ú__doc__r    r&   r.   r/   Ú__classcell__)r9   r0   s   @@r   r2   r2   *   s   ù‡ € ñõB÷
Oõ Or   r2   )	r?   Úosr6   Úpathlibr   Útempfiler   r   r2   r	   r   r   Ú<module>rD      s.   ðñó Ý Ý '÷ñ ô<OÐ 2ö Or   