
    (phF	                     h    S r SSKrSSKJr  SSKJr  SSKJr  \S 5       r\S 5       r	\S	S j5       r
g)
z>Contexts for *with* statement providing temporary directories
    N)contextmanager)rmtree)mkdtempc               #   >   #    [        5       n U v   [        U 5        g7f)a  Create and return a temporary directory. This has the same
behavior as mkdtemp but can be used as a context manager.

Upon exiting the context, the directory and everything contained
in it are removed.

Examples
--------
>>> import os
>>> with tempdir() as tmpdir:
...     fname = os.path.join(tmpdir, 'example_file.txt')
...     with open(fname, 'wt') as fobj:
...         _ = fobj.write('a string\n')
>>> os.path.exists(tmpdir)
False
N)r   r   )ds    F/var/www/html/venv/lib/python3.13/site-packages/scipy/_lib/_tmpdirs.pytempdirr	   	   s     $ 		A
G
1Is   c               #      #    [         R                  " 5       n [        5       n[         R                  " U5        Uv   [         R                  " U 5        [	        U5        g7f)ay  Create, return, and change directory to a temporary directory

Examples
--------
>>> import os
>>> my_cwd = os.getcwd()
>>> with in_tempdir() as tmpdir:
...     _ = open('test.txt', 'wt').write('some text')
...     assert os.path.isfile('test.txt')
...     assert os.path.isfile(os.path.join(tmpdir, 'test.txt'))
>>> os.path.exists(tmpdir)
False
>>> os.getcwd() == my_cwd
True
N)osgetcwdr   chdirr   )pwdr   s     r   
in_tempdirr       s;     " ))+C	AHHQK
GHHSM
1Is   AAc              #      #    [         R                  " 5       nU c  Uv   g[         R                  " U 5        U v   [         R                  " U5        g7f)a*  Change directory to given directory for duration of ``with`` block

Useful when you want to use `in_tempdir` for the final test, but
you are still debugging. For example, you may want to do this in the end:

>>> with in_tempdir() as tmpdir:
...     # do something complicated which might break
...     pass

But, indeed, the complicated thing does break, and meanwhile, the
``in_tempdir`` context manager wiped out the directory with the
temporary files that you wanted for debugging. So, while debugging, you
replace with something like:

>>> with in_dir() as tmpdir: # Use working directory by default
...     # do something complicated which might break
...     pass

You can then look at the temporary file outputs to debug what is happening,
fix, and finally replace ``in_dir`` with ``in_tempdir`` again.
N)r   r   r   )dircwds     r   in_dirr   9   s:     . ))+C
{	HHSM
IHHSMs   AA)N)__doc__r   
contextlibr   shutilr   tempfiler   r	   r   r        r   <module>r      sR    	 %    ,  0  r   