
    Mh                     b   S r SSKrSSKJr  SSKrSSKrSSKrSSKJr  SSK	J
r  \R                  R                  S5      r\R                  " SS/S9S	 5       r\R                  S
 5       r\R                  R%                  S/ SQ5      S 5       r\R                  R%                  SSS/5      S 5       rS rS r\R                  R%                  SSS/5      S 5       r\R                  R%                  S/ SQ5      S 5       rS r\R                  R%                  S/ SQ5      S 5       rS rS rS rg) zZ
Tests compressed data parsing functionality for all
of the parsers defined in parsers.py
    N)Path)	DataFramez=ignore:Passing a BlockManager to DataFrame:DeprecationWarningTF)paramsc                     U R                   $ )N)param)requests    Y/var/www/html/env/lib/python3.13/site-packages/pandas/tests/io/parser/test_compression.pybufferr
      s    ==    c                     U n[        US5       nUR                  5       nS S S 5        UR                  U5      nUWU4$ ! , (       d  f       N$= f)Nrb)openreadread_csv)all_parserscsv1parserfdataexpecteds         r	   parser_and_datar      sG    F	dD	Qvvx 
t$H4!!	 
	s	   >
Acompression)zipinferzip2c                    U u  p#n[         R                  " S5       n[        R                  " USS9 nUR	                  SU5        S S S 5        US:X  a&  [        US5       nUR                  USS9nS S S 5        OUR                  XQS9n[         R                  " WU5        S S S 5        g ! , (       d  f       Ni= f! , (       d  f       N?= f! , (       d  f       g = f)	Ntest_file.zipwmode	test_filer   r   r   r   )tmensure_cleanzipfileZipFilewritestrr   r   assert_frame_equal)	r   r   r   r   r   pathtmpr   results	            r	   test_zipr,   %   s    ,F(		)T__T,LLd+ - & dD!Q> "! __T_CF
fh/ 
*	),, "! 
*	)s:   C
B(C
B90/C
(
B6	2C
9
C	C


Cr   r   c                    U u  p#n[         R                  " S5       nSS/n[        R                  " USS9 nU H  nUR	                  X5        M     S S S 5        [
        R                  " [        SS9   UR                  XQS9  S S S 5        S S S 5        g ! , (       d  f       NH= f! , (       d  f       N(= f! , (       d  f       g = f)	Nzcombined_zip.zipr!   second_filer   r   zMultiple filesmatchr"   )	r#   r$   r%   r&   r'   pytestraises
ValueErrorr   )	r   r   r   r   r   r)   inner_file_namesr*   	file_names	            r	   test_zip_error_multiple_filesr6   6   s    ,F(	+	,'7__T,-	Y- . - ]]:-=>OODO: ? 
-	, -, ?> 
-	,s:   B5B!B52B$B5
B!	B5$
B2	.B55
Cc                 T   U u  n  n[         R                  " 5        n[        R                  " USS9    S S S 5        [        R
                  " [        SS9   UR                  USS9  S S S 5        S S S 5        g ! , (       d  f       NI= f! , (       d  f       N(= f! , (       d  f       g = f)Nr   r   z
Zero filesr/   r   r"   )r#   r$   r%   r&   r1   r2   r3   r   )r   r   _r)   s       r	   test_zip_error_no_filesr9   E   su    "LFAq		d__T, - ]]:\:OODeO4 ;	 
	,, ;:	 
	s9   BA7!BB&B7
B	B
B	B
B'c                 T   U u  n  n[         R                  " 5        n[        US5       n[        R                  " [
        R                  SS9   UR                  USS9  S S S 5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N(= f! , (       d  f       g = f)Nr   zFile is not a zip filer/   r   r"   )r#   r$   r   r1   r2   r%   
BadZipFiler   )r   r   r8   r)   r   s        r	   test_zip_error_invalid_zipr<   P   sv    "LFAq		d$w119QRu5 S  
	RR  
	s:   B$BA7B&B7
BB
B	B
B'filenamez
test.{ext}c                    Uu  pgnUn	XY   n
Uc  UOUR                  U
S9nU(       a3  U(       a,  U R                  [        R                  R	                  SS95        [
        R                  " US9 n[
        R                  " XU5        U(       a  SOU	nU(       a%  [        US5       nUR                  XS9nS S S 5        OUR                  XS9n[
        R                  " WU5        S S S 5        g ! , (       d  f       N.= f! , (       d  f       g = f)N)extz9Cannot deduce compression from buffer of compressed data.)reason)r=   r   r   r"   )formatapplymarkerr1   markxfailr#   r$   write_to_compressedr   r   r(   )r   r   compression_onlyr
   r=   compression_to_extensionr   r   r   compress_typer?   r)   r   r   r+   s                  r	   test_compressionrI   Y   s     -F($M
"
1C#+xS1IHFKKR  	
 
(	+t
}D9!)g}dD!QD "! __T_CF
fh/ 
,	+
 "! 
,	+s$   .6C=$C,4/C=,
C:	6C==
Dr?   )Ngzbz2c                 4   U nSSS.nUR                   " U40 UD6nSUS'   U(       a'  [        USS9 nUR                   " U40 UD6nS S S 5        O#U(       a  SU-   OS	nUR                   " X-   40 UD6n[        R                  " WU5        g ! , (       d  f       N&= f)
Nr   T)	index_colparse_datesr   r   utf-8encoding. )r   r   r#   r(   )	r   r   r
   r?   r   kwargsr   r   r+   s	            r	   test_infer_compressionrU   |   s     FT2Ft.v.H#F=$)Q__Q1&1F *) cCiB6v6&(+ *)s   B		
Bc                     U nUR                  U5      n[        R                  R                  USU S35      nUR	                  XeSSS9n[        SS/SS/S	.5      n[        R                  " Xx5        g )
Nutfz_ex_small.zipr   	)rQ   r   sep	Venezuela   Hugo Chávez FríasHenrique Capriles R.CountryTwitter)rA   osr)   joinr   r   r#   r(   )	r   csv_dir_path	utf_valueencoding_fmtr   rQ   r)   r+   r   s	            r	   test_compression_utf_encodingre      sx    F""9-H77<<I;m&DED__T%T_RF#[1-/EF	
H &+r   invalid_compression)sfarkbz3zipperc                     U nSU0nSU 3n[         R                  " [        US9   UR                  " S0 UD6  S S S 5        g ! , (       d  f       g = f)Nr   zUnrecognized compression type: r/   )r   )r1   r2   r3   r   )r   rf   r   compress_kwargsmsgs        r	   test_invalid_compressionrm      sI    F$&9:O+,?+@
AC	z	-;?; 
.	-	-s   A
Ac                     U n[         R                  R                  US5      nUR                  U5      n[	        UR
                  5      S/:X  d   eg )Nztar_csv.tar.gza)r`   r)   ra   r   listcolumns)r   rb   r   r)   dfs        r	   test_compression_tar_archivers      sC    F77<<&67D		B

u$$$r   c           	         U n[        SSS/05      n[        R                  " S5       n[        R                  " S5       nUR                  USS9  [	        U5      R                  [	        U5      R                  SS	9SS	9  [        R                  " UR                  US S
9U5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nro   r      ztest.csvztest.csv.zipFindexrO   rP   r"   )	r   r#   r$   to_csvr   
write_text	read_textr(   r   )r   r   rr   path_csvpath_zips        r	   !test_ignore_compression_extensionr}      s    F	C!Q=	!B		$__^,IIheI,N%%X(('(:W &  !!&//(/"MrR - 
%	$,, 
%	$s#   CA%B5$C5
C	?C
Cc                    U n[        SS/SS/S.5      n[        R                  " S5       nUR                  USS9  [        R                  " UR                  U5      U5        [        R                  " US5       nUR                  UR                  UR                  5       S	   5      S
S9n[        R                  " XR5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)NrZ   r[   r\   r]   ztest.tar.gzFrv   zr:gzr   r   r"   )
r   r#   r$   rx   r(   r   tarfiler   extractfilegetnames)r   r   r   tar_pathtarr+   s         r	   test_writes_tar_gzr      s    F#[1-/EF	
D 
	'8HE* 	fooh7> \\(F+s__q 12 % F !!&/	 , 
(	' ,+ 
(	's%   AC"9AC C"
C	C""
C0)__doc__r`   pathlibr   r   r%   r1   pandasr   pandas._testing_testingr#   rC   filterwarnings
pytestmarkfixturer
   r   parametrizer,   r6   r9   r<   rI   rU   re   rm   rs   r}   r    r   r	   <module>r      sZ  
 
      [[''C

 e}% & " " (@A0 B0  (89; :;56 dL%9:0 ;0D  34, 5,$," .0JK< L<%S0r   