M㞿}q{ d Z ddlZddlZddlZddlmZ ddlmZmZm Z m Z mZmZm Z mZ ddlmZ ddlmZ ddlmZmZ erddlmZ G d d e Z G d d Z G d de Zej dk rddlZ G d d ZdS dS )zKUses :py:class:`FakeIoModule` to provide a fake ``io`` module replacement. N)Enum)ListOptionalCallableUnionAnyAnyStrIO TYPE_CHECKING)AnyFileWrapper) fake_open)IS_PYPYis_called_from_skipped_module)FakeFilesystemc e Zd ZdZdZdZdZdS ) PatchModezvDefines if patching shall be on, off, or in automatic mode. Currently only used for `patch_open_code` option. N)__name__ __module____qualname____doc__OFFAUTOON b/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/pyfakefs/fake_io.pyr r * s) CD BBBr r c e Zd ZdZedee fd ZddZ dde e ef d ededee dee dee de dee de de eee f fdZej dk rd Zd Zd S )FakeIoModulezUses FakeFilesystem to provide a fake io module replacement. You need a fake_filesystem to use this:: filesystem = fake_filesystem.FakeFilesystem() my_io_module = fake_io.FakeIoModule(filesystem) returnc V dg} t j dk r| d | S )zqReturn the list of patched function names. Used for patching functions imported from the module. openr open_code)sysversion_infoappend)_dirs r dirzFakeIoModule.dir= s0 xv%%KK$$$r filesystemr c : || _ g | _ t | _ dS zg Args: filesystem: FakeFilesystem used to provide file system information. N)r- skip_namesio _io_moduleselfr- s r __init__zFakeIoModule.__init__G s %%'r rNTFfilemode bufferingencodingerrorsnewlineclosefdopeneris_fake_open_codec H t | j | j ||||||||| S )z\Redirect the call to FakeFileOpen. See FakeFileOpen.call() for description. )r r- r0 ) r4 r8 r9 r: r; r<