
    ϶vg                     v   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ e j	        d fd            Z
e j	        d             Ze j	        d             Ze j	        d             Ze j	        d             Ze j	        d	             Zd
 Ze j	        d             Ze j	        d             Ze j	        d             ZdS )    N)FileLockc                     d S N )dirs    V/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/tests/contexts.py<lambda>r	      s    4     c              +      K   t          j        di |}t          j                    }	  | |           |V   | |           t	          j        |           d S #  | |           t	          j        |           w xY w)Nr   )tempfilemkdtemposgetcwdshutilrmtree)cdkwargstemp_dirorig_dirs       r   tempdirr      s      ))&))Hy{{H 
8
8h 	8hs   A !A9c               +   h  K   t          d | D                       }d |                                 D             }t          |          D ]7}t          j                            |d           |                     |           8t          j                            |            	 |V  | D ]"}t          j                            |d           #t          j                            |           dS # | D ]"}t          j                            |d           #t          j                            |           w xY w)zj
    In a context, patch the environment with replacements. Pass None values
    to clear the values.
    c              3   Z   K   | ]&}|t           j        v |t           j        |         fV  'd S r   )r   environ).0keys     r   	<genexpr>zenvironment.<locals>.<genexpr>   s9      UUC3"*CTCT#rz#'CTCTCTCTUUr
   c              3   $   K   | ]\  }}||V  d S r   r   )r   r   values      r   r   zenvironment.<locals>.<genexpr>!   s&      LLlsEemcmmmmLLr
   N)dictitemslistr   r   popupdate)replacementssavedremover   s       r   environmentr'      s7      UU<UUUUUE MLl&8&8&:&:LLLFF||  

sD!!!Jl###! 	& 	&CJNN3%%%%

%        	& 	&CJNN3%%%%

%    s   !C+ +AD1c               #     K   t           j        } t           j        }t          j                    x}t           _        t          j                    x}t           _        	 ||fV  |                    d           |                    d           | t           _        |t           _        dS # |                    d           |                    d           | t           _        |t           _        w xY w)zk
    Redirect stdout/stderr to StringIO objects to prevent console output from
    distutils commands.
    r   N)sysstdoutstderrioStringIOseek)
old_stdout
old_stderr
new_stdout
new_stderrs       r   quietr3   0   s       JJ kmm+J kmm+J *$$$$



 	

s   B$ $AC(c               #   f   K   t           j        } 	 | V  | t           _        d S # | t           _        w xY wr   )siteENABLE_USER_SITE)r%   s    r   save_user_site_settingr7   D   s>      !E& %%%%%s   " 0c               #     K   dd l } |                                 }t          j        d d          }	 ||fV  |t          j        d d <   |                     |           d S # |t          j        d d <   |                     |           w xY w)Nr   )pkg_resources__getstate__r)   path__setstate__)r9   pr_statesys_paths      r   save_pkg_resources_stater?   M   s      ))++Hx{H-    ""8,,,,, ""8,,,,s   A (Bc               '   ,   K   	 d V  d S # | $ r Y d S w xY wr   r   )excss    r   suppress_exceptionsrB   [   s:         s   
 c                 ^    	 |                      d          }n# t          $ r Y dS w xY w|dk    S )zO
    Return True if running under xdist and multiple
    workers are used.
    	worker_idFmaster)getfixturevalue	Exception)requestrD   s     r   	multiprocrI   c   sI    
++K88		   uu  s    
&&c              #     K   |                                 }t          |           r|j        n|}||z  }t          |                    d                    5  |                    dd           |V  ddd           dS # 1 swxY w Y   dS )zCUses a file lock to guarantee only one worker can access a temp dirz.lockT)exist_okparentsN)getbasetemprI   parentr   with_suffixmkdir)rH   tmp_path_factorynamebase
shared_dir
locked_dirs         r   session_locked_tmp_dirrV   o   s       ''))D )' 2 2<Jd"J	*((11	2	2  $555                 s   A??BBc               #   $  K   t           j        dd         t           j        dd         t           j        dd         f} 	 dV  | \  t           _        t           _        t           _        dS # | \  t           _        t           _        t           _        w xY w)zNMake sure ``sys.path``, ``sys.meta_path`` and ``sys.path_hooks`` are preservedN)r)   r;   	meta_path
path_hooks)prevs    r   
save_pathsr[   }   sv       8AAA;aaa(#.*;;D726/#-$/#-6666s   A) )&Bc               #      K   t           j        } 	 t           j                                        t           _        dV  | t           _        dS # | t           _        w xY w)z.Make sure initial ``sys.modules`` is preservedN)r)   modulescopy)prev_moduless    r   save_sys_modulesr`      sP       ;L#k&&(("l""""s   ,A
 
A)
contextlibr,   r   r   r5   r)   r   filelockr   contextmanagerr   r'   r3   r7   r?   rB   rI   rV   r[   r`   r   r
   r   <module>rd      s       				 				   



                 ! ! !.      & & & & 
- 
- 
-   	! 	! 	! 
 
 
 7 7 7 # # # # #r
   