r %s'R'R'R1A'R'R'R.)rcNi}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_patchr5s&C.A-B)* r c,i}tr t|d<|S)Nr)rFakeTextFileReader)fake_module_classess r get_fake_module_classesr<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|_dSN)r _xlrd_moduleself_s r __init__zXLRDModule.__init__Js $D   r NrFc F|j|||d||||| S)NF)r! open_workbook) r#filenamelogfile verbosityuse_mmap file_contentsencoding_overrideformatting_info on_demand ragged_rowss r r'zXLRDModule.open_workbookMs:$22!   r c,t|j|Sz7Forwards any unfaked calls to the standard xlrd module.)getattrr!r#names r __getattr__zXLRDModule.__getattr__es4,d33 3r ) __name__ __module__ __qualname____doc__r%sysstdoutr'r6rr r rrEso 6 6 % % % J"!    0 4 4 4 4 4r rc$eZdZdZdZdZdZdS)rNcJ|jt||j_dSdSr ) fake_parsers ParsersModule __class__)r# filesystems r r%zFakeTextFileReader.__init__qs+ (.;J.G.G+++)(r c&|jj|i|Sr )r?r)r#argskwargss r __call__zFakeTextFileReader.__call__us34$3TDVDD Dr c6t|jj|Sr )r3r?rr4s r r6zFakeTextFileReader.__getattr__xs4,;TBB Br )r7r8r9r?r%rFr6rr r rrnsQ  H H H E E E C C C C Cr rc@eZdZdZGddejZdZdS)r@ct|_dSr )parsers_parsers_moduler"s r r%zParsersModule.__init__|s#*D r ceZdZfdZxZS)ParsersModule.TextFileReadercDd|d<tj|i|dS)Npythonengine)superr%)r#rDrErAs r r%z%ParsersModule.TextFileReader.__init__s/#+x   $1&11111r )r7r8r9r% __classcell__)rAs@r rrMs8 2 2 2 2 2 2 2 2 2r rc,t|j|Sr2)r3rKr4s r r6zParsersModule.__getattr__s4/66 6r N)r7r8r9r%rJrr6rr r r@r@{s_ + + + 2 2 2 2 2W3 2 2 2  7 7 7 7 7r r@cNeZdZdZeZdZedZedZ dZ dS)rz=django.core.files.locks uses low level OS functions, fake it.cdSr rr"s r r%zFakeLocks.__init__s Dr cdSNTr)fflagss r lockzFakeLocks.lock4r cdSrWr)rXs r unlockzFakeLocks.unlockr[r c,t|j|Sr )r3 _locks_moduler4s r r6zFakeLocks.__getattr__s4-t44 4r N) r7r8r9r:rr_r% staticmethodrZr]r6rr r rrssKK               5 5 5 5 5r r)r:r;pandaspdpandas.io.parsersiorJ ImportErrorrdjango.core.filesr __version__splitrrrrrrr@rrr r ris* ''''''''''GGGKKKK DDD''''''' EEE d"'R'R8L8LS8Q8Q'R'R'RVVV( "4"4"4"4"4"4"4"4J7 C C C C C C C C 7 7 7 7 7 7 7 7 5555555555s'   )33>AA