ot+3I d d Z ddlZddlZddlZddlZ ej e ZdefdZ d dddZ
dS )
zHigh-level file operations. Nreturnc t | t o9t | o*d| vo&| t j | k o| dvS )N ).z..)
isinstancestrboolospathbasename)names R/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/utils/_shutil.pyis_safe_subdir_namer
s] 4 $JJ $$ $
BG$$T*** $
# F ) max_triesc t d|dz D ]s} t j | || c S # t $ rL}||k s|j t j t j fvr t d| | Y d}~ld}~ww xY wdS )zMore robust shutil.rmtree.
Retry on "Directory not empty" race condition:
https://github.com/ansible/ansible/issues/34335#issuecomment-362995700
z Can't remove %s tree, reason: %sN) rangeshutilrmtreeOSErrorerrnoEEXIST ENOTEMPTYloggerwarning)r
ignore_errorsonerrorr ies r r r s 1i!m
$
$ H H
H=}g>>>>> H H HI~~1 " "
NN=tQGGGGGGGG HH Hs /
BAB B)FN)__doc__r loggingr
r getLogger__name__r r r r r r