Ncwؤ5 d Z ddlZddlZddlmZmZ ddlmZ ddlm Z ddlm
Z
n# e$ r
ded ed
dfdZ
Y nw xY w ed Z
d
Zdede
f deded
e
fdZdefdZd Zd ZdS )z2Convenience layer on top of stdlib's shutil and os N)CallableTypeVar )py311)log)chmodargskwargsreturnc d S N )r r
s d/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/setuptools/_shutil.pyr r s _Tc t j d| | t | | d S # t $ r }t j d| Y d }~d S d }~ww xY w)Nzchanging mode of %s to %ozchmod failed: %s)r debugr OSError)pathmodees r attempt_chmod_verboser sv I)4666)
dD ) ) ) $a((((((((()s *
AAAfunc.argexcc | t j t j fv r5t j dk r%t |t
j | | S |)zIshutils onexc callback to automatically call chmod for certain functions.nt)osunlinkremovenamer statS_IWRITE)r r r s r _auto_chmodr$ sG
29%%%"'T//c4=111tCyy
Ir Fc . t j | || S )zx
Similar to ``shutil.rmtree`` but automatically executes ``chmod``
for well know Windows failure scenarios.
)r
shutil_rmtree)r
ignore_errorsonexcs r rmtreer) + s
t]E:::r c b t j | rt | fi | d S d S r
)r r isdirr) )r optss r rmdirr- 3 s> w}}T tt r c V t j d } t j | | S )N )r umask)tmps r
current_umaskr2 8 s!
(5//CHSMMMJr )__doc__r r" typingr r compatr distutilsr r ImportErrorobjectr r str
BaseExceptionr$ r) r- r2 r r r