§ 1j‹ ã ó\ — d Z ddlZddlZddlZddlZddlmZ ddlmZ G d„ d¦ « Z dS )aÜ A fake shutil module implementation that uses fake_filesystem for unit tests. Note that only `shutildisk_usage()` is faked, the rest of the functions shall work fine with the fake file system if `os`/`os.path` are patched. :Includes: FakeShutil: Uses a FakeFilesystem to provide a fake replacement for the shutil module. :Usage: The fake implementation is automatically involved if using `fake_filesystem_unittest.TestCase`, pytest fs fixture, or directly `Patcher`. é N)ÚRLock)ÚCallablec ó´ — e Zd ZdZ e¦ « Z eed¦ « oej Z eed¦ « oej Z eed¦ « oej Z ej Zg d¢Zej dk sej dk re g d¢¦ « ed „ ¦ « Zd „ Zd„ Zd„ Zd edefd„Zd„ Zej dk r)ej dk rddœd„Zddej ddfd„Zej fd„Zd„ Z dS )ÚFakeShutilModulezâUses a FakeFilesystem to provide a fake replacement for shutil module. Automatically created if using `fake_filesystem_unittest.TestCase`, the `fs` fixture, the `patchfs` decorator, or directly the `Patcher`. Ú_USE_CP_COPY_FILE_RANGEÚ_HAS_FCOPYFILEÚ_USE_CP_SENDFILE)ÚcopyÚcopyfileÚrmtree)é é Úwin32)Úcopy2ÚcopytreeÚmovec ó — dS )zqReturn the list of patched function names. Used for patching functions imported from the module. )Ú disk_usage© r ó úq/builddir/build/BUILD/cloudlinux-venv-1.0.11/venv/lib/python3.11/site-packages/pyfakefs/fake_filesystem_shutil.pyÚdirzFakeShutilModule.dir; s € ð ˆr c ó: — || _ t | _ d| _ dS )z�Construct fake shutil module using the fake filesystem. Args: filesystem: FakeFilesystem used to provide file system information r N)Ú filesystemÚshutilÚ shutil_moduleÚ_patch_level)Úselfr s r Ú__init__zFakeShutilModule.__init__B s! € ð %ˆŒÝ#ˆÔ؈ÔÐÐr c ó, — | xj dz c_ | j dk rd S | j rd| j _ | j rd| j _ | j rd| j _ | j r6t j dk r| j j | j _ d S d| j _ d S d S )Né F©r é )r Úhas_fcopy_filer r Úuse_copy_file_ranger Úuse_sendfiler Úuse_fd_functionsÚsysÚversion_infoÚ_rmtree_unsafeÚ_rmtree_implÚ_use_fd_functions©r s r Ú_start_patching_global_varsz,FakeShutilModule._start_patching_global_varsL s» € ØÐÔ˜QÑÐÔØÔ˜qÒ Ð ØˆFØÔð 6Ø05ˆDÔÔ-ØÔ#ð ?Ø9>ˆDÔÔ6ØÔð 8Ø27ˆDÔÔ/ØÔ ð =ÝÔ 7Ò*Ð*àÔ&Ô5ð Ô"Ô/Ð/Ð/ð 8=�Ô"Ô4Ð4Ð4ð =ð =r c ó, — | xj dz c_ | j dk rd S | j rd| j _ | j rd| j _ | j rd| j _ | j r6t j dk r| j j | j _ d S d| j _ d S d S )Nr! r Tr" )r r$ r r r% r r&