bg= ddlmZddlZddlZddlZddlmZmZddlmZddl m Z ddl m Z ej dd Zej dddZej dd dZej dd!dZd"d#dZdS)$) annotationsN) GeneratorIterator)copy)Path)TextIOoutrreturnIterator[None]c#K|xt_t_ dVtjt_tjt_dS#tjt_tjt_wxYw)z+Patch and subsequently reset a text stream.N)sysstderrstdout __stderr__ __stdout__)r s g/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/testutils/utils.py_patch_streamsrs["!CJ$ ^ ^ ^ ^ ####s A.A<replacement_sys_pathlist[str] | NoneGenerator[None, None, None]c#Ktj} |t|t_dV|t_dS#|t_wxYwN)r pathr)r original_paths r_test_sys_pathrsQHM!  +011CH  =    s =A current_working_directorystr | Path | Nonec#Ktj} |tj|dVtj|dS#tj|wxYwr)osgetcwdchdir)r original_dirs r _test_cwdr#(sd9;;L $ 0 H. / / /  s AAnew_pythonpath str | Nonec#\Ktjd}|r|tjd<n|| tjd= dV||tjd<dSdtjvrtjd=dSdS#||tjd<ndtjvr tjd=wxYw)N PYTHONPATH)renvironget)r$original_pythonpaths r_test_environ_pythonpathr+5s*..66%#1 <   $7$C J| $)   *':BJ| $ $ $ RZ ' ' <(((( '  *':BJ| $ $ RZ ' ' <( ( ( ( (s A<. :param list paths: list of relative paths to files or directories :param str chroot: the root directory in which paths will be created >>> from os.path import isdir, isfile >>> isdir('/tmp/a') False >>> create_files(['a/b/foo.py', 'a/b/c/', 'a/b/c/d/e.py'], '/tmp') >>> isdir('/tmp/a') True >>> isdir('/tmp/a/b/c') True >>> isfile('/tmp/a/b/c/d/e.py') True >>> isfile('/tmp/a/b/foo.py') True wzutf-8)encodingN) setrrjoinbasenameadddirnameisdirmakedirsopen)r-r/dirsfilesrfilenamedirpathfilepaths r create_filesrBHsW&%%%D  w||FD))7##D))  HHTNNNN HHRW__T** + + + IIdOOOO!!w}}W%% ! K  (C' 2 2 2                  sDD #D )r rr r r)rrr r)rrr r)r$r%r r)r,)r-r.r/r0r r1) __future__r contextlibrr collections.abcrrrpathlibrtypingrcontextmanagerrrr#r+rBrrKsP #""""" //////// $$$$ -1 ! ! ! ! ! 37      !%)))))$#######rJ