c>&2dZddlZddlmZ ddlZ ddlmcmZn #e $rdZYnwxYwn#e $rdZdZYnwxYw ddl Z n #e $rdZ YnwxYw ddl Z ddl m Z n #e $rdZ YnwxYwn#e $rdZ dZ YnwxYweduo1dejdddDddgkZd Zd Zd Zd Zd Ze GddZerGddZGddZedZe GddZe ddZdZdSdS)zY Provides patches for some commonly used modules that enable them to work with pyfakefs. N)reload)locksc,g|]}t|S)int).0vs k/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/pyfakefs/patched_packages.py r 4s+(((CFF(((.cNi}t t|d<t t|d<|S)Nxlrdzdjango.core.files.locks)r XLRDModuler FakeLocks)modules_to_patchs r get_modules_to_patchr<s1 #-  6?23 r c$i}trdg|d<|S)Nzpandas.io.parsersTextFileReader) patch_pandas)classes_to_patchs r get_classes_to_patchrEs&C.A-B)* r c`|tjvrttj|dSNT)sysmodulesrnames r reload_handlerr!Ls) s{s{4 !!! 4r cli}t t|d<ttD] }|fd||< |S)Nz(pandas.core.arrays.arrow.extension_typesc t|SN)r!rs r z&get_cleanup_handlers..Zs^D=Q=Qr )pdhandle_extension_type_cleanupdjangodjango_view_modules)handlers module_names r get_cleanup_handlersr,RsTH ~ ) ;<.00 R RK0;$Q$Q$QH[ ! ! Or c,i}tr t|d<|S)Nr)rFakeTextFileReader)fake_module_classess r get_fake_module_classesr0^s#C0B,- r c BeZdZdZdZdejdddddddf dZdZdS)rzPatches the xlrd module, which is used as the default Excel file reader by pandas. Disables using memory mapped files, which are implemented platform-specific on OS level.ct|_dSr$)r _xlrd_moduleself_s r __init__zXLRDModule.__init__ls $D   r NrFc F|j|||d||||| S)NF)r3 open_workbook) r5filenamelogfile verbosityuse_mmap file_contentsencoding_overrideformatting_info on_demand ragged_rowss r r9zXLRDModule.open_workbookos:$22!   r c,t|j|Sz7Forwards any unfaked calls to the standard xlrd module.)getattrr3r5r s r __getattr__zXLRDModule.__getattr__s4,d33 3r ) __name__ __module__ __qualname____doc__r7rstdoutr9rGrr r rrgso 6 6 % % % J"!    0 4 4 4 4 4r rc$eZdZdZdZdZdZdS)r.NcJ|jt||j_dSdSr$) fake_parsers ParsersModule __class__)r5 filesystems r r7zFakeTextFileReader.__init__s+ (.;J.G.G+++)(r c&|jj|i|Sr$)rOr)r5argskwargss r __call__zFakeTextFileReader.__call__s34$3TDVDD Dr c6t|jj|Sr$)rErOrrFs r rGzFakeTextFileReader.__getattr__s4,;TBB Br )rHrIrJrOr7rVrGrr r r.r.sQ  H H H E E E C C C C Cr r.c@eZdZdZGddejZdZdS)rPct|_dSr$)parsers_parsers_moduler4s r r7zParsersModule.__init__s#*D r ceZdZfdZxZS)ParsersModule.TextFileReadercDd|d<tj|i|dS)Npythonengine)superr7)r5rTrUrQs r r7z%ParsersModule.TextFileReader.__init__s/#+x   $1&11111r )rHrIrJr7 __classcell__)rQs@r rr]s8 2 2 2 2 2 2 2 2 2r rc,t|j|SrD)rEr[rFs r rGzParsersModule.__getattr__s4/66 6r N)rHrIrJr7rZrrGrr r rPrPs_ + + + 2 2 2 2 2W3 2 2 2  7 7 7 7 7r rPc ddl}|d|dn#t$rYnwxYwdS)Nrzpandas.intervalz pandas.periodF)pyarrowunregister_extension_type ImportError)_nameres r r'r'sc  NNN  - -.? @ @ @  - -o > > > >    D us .1 >>cNeZdZdZeZdZedZedZ dZ dS)rz=django.core.files.locks uses low level OS functions, fake it.cdSr$rr4s r r7zFakeLocks.__init__s Dr cdSrr)fflagss r lockzFakeLocks.lock4r cdSrr)rls r unlockzFakeLocks.unlockror c,t|j|Sr$)rE _locks_modulerFs r rGzFakeLocks.__getattr__s4-t44 4r N) rHrIrJrKrrsr7 staticmethodrnrqrGrr r rrssKK               5 5 5 5 5r rcH|t}|D]}t|drt|j|)t|jdr |jj}n)t|jdr |jj}n|j}||j|S)N url_patterns)rcls view_class) sethasattrget_all_view_modulesrvcallbackrwrxaddrI) urlpatternsrpatternviews r r{r{s ?eeG" - -Gw// -$W%97KKKKK7+U33,"+/DDW-|<<,"+6DD"+D DO,,,,r c ttjjjjj}t|S#t$rtcYSwxYwr$) __import__r(confsettings ROOT_URLCONFurlsr~r{ Exceptionry)all_urlpatternss r r)r)sa ( $1; (88 8   55LLL s;>AAr$)rKr importlibrpandasr&pandas.io.parsersiorZrgrr(django.core.filesr __version__splitrrrr!r,r0rr.rPr'rr{r)rr r rs   ++++++++++  BGGG KKKK DDD MMM+++++++  F EEE d"((N((--bqb1((((    "4"4"4"4"4"4"4"4J7 C C C C C C C C 7 7 7 7 7 7 7 7>    55555555(  %sk+ +'+'+ 77AA  A A(AA(A$!A(#A$$A(( A43A4