
    ,h*                         d Z ddlZddlZddlmZmZ ddlmZ ddlm	Z	 	 ddlm
Z
  ed      Zd Zdedef   deded
efdZdefdZd Zd Zy# e$ r ded	ed
dfdZ
Y :w xY w)z2Convenience layer on top of stdlib's shutil and os    N)CallableTypeVar   )py311)log)chmodargskwargsreturnc                       y N )r	   r
   s     T/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/setuptools/_shutil.pyr   r      s        _Tc                     t        j                  d| |       	 t        | |       y # t        $ r }t        j                  d|       Y d }~y d }~ww xY w)Nzchanging mode of %s to %ozchmod failed: %s)r   debugr   OSError)pathmodees      r   attempt_chmod_verboser      sD    II)46)dD )		$a(()s   & 	AA

Afunc.argexcc                     | t         j                  t         j                  fv r5t         j                  dk(  r"t	        |t
        j                          | |      S |)zIshutils onexc callback to automatically call chmod for certain functions.nt)osunlinkremovenamer   statS_IWRITE)r   r   r   s      r   _auto_chmodr$       s@    
 		299%%"''T/c4==1Cy
Ir   Fc                 0    t        j                  | ||      S )zx
    Similar to ``shutil.rmtree`` but automatically executes ``chmod``
    for well know Windows failure scenarios.
    )r   shutil_rmtree)r   ignore_errorsonexcs      r   rmtreer)   +   s    
 t]E::r   c                 \    t         j                  j                  |       rt        | fi | y y r   )r   r   isdirr)   )r   optss     r   rmdirr-   3   s$    	ww}}Ttt r   c                  Z    t        j                  d      } t        j                  |        | S )N   )r   umask)tmps    r   current_umaskr2   8   s    
((5/CHHSMJr   )__doc__r   r"   typingr   r   compatr   	distutilsr   r   ImportErrorobjectr   r   strBaseExceptionr$   r)   r-   r2   r   r   r   <module>r;      s    8 	  $   T])
37
"%,9  %K ;
U  V v $ s   A A! A!