
    A>ik                     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    f/var/www/html/land-tabula/venv/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  p4nU S-  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	                  XbS9n	[
        R                  " W	U5        g ! , (       d  f       Na= f! , (       d  f       N7= f)	Ntest_file.zipwmode	test_filer   r   r   r   )zipfileZipFilewritestrr   r   tmassert_frame_equal)
tmp_pathr   r   r   r   r   pathtmpr   results
             r	   test_zipr,   %   s    ,F(o%D	C	(C[$' 
) f$__QE_:F  ?&(+ 
)	( s   BB
B
B-r   r   c                 6   Uu  p4nU S-  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                  XbS9  S S S 5        g ! , (       d  f       N@= f! , (       d  f       g = f)	Nzcombined_zip.zipr!   second_filer   r   zMultiple filesmatchr"   )r#   r$   r%   pytestraises
ValueErrorr   )
r(   r   r   r   r   r   r)   inner_file_namesr*   	file_names
             r	   test_zip_error_multiple_filesr6   6   s    ,F(((D#]3	C	(C)ILL) * 
) 
z)9	:6 
;	:	 
)	( 
;	:s   A9 B
9
B

Bc                     Uu  n  nU S-  n[         R                  " USS9    S S S 5        [        R                  " [        SS9   UR                  USS9  S S S 5        g ! , (       d  f       NA= f! , (       d  f       g = f)Nr   r   r   z
Zero filesr/   r   r"   )r#   r$   r1   r2   r3   r   )r(   r   r   _r)   s        r	   test_zip_error_no_filesr9   E   sg    "LFAqo%D	C	( 
) 
z	6%0 
7	6 
)	( 
7	6s   AA/
A,/
A=c                     Uu  n  nU S-  nUR                  5         [        US5       n[        R                  " [        R
                  SS9   UR                  USS9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nzinvalid_file.zipr   zFile is not a zip filer/   r   r"   )touchr   r1   r2   r#   
BadZipFiler   )r(   r   r   r8   r)   r   s         r	   test_zip_error_invalid_zipr=   P   sp    "LFAq((DJJL	dD	Q]]7--5MNOOA5O1 O 
	NN 
	s#   $A?A.A?.
A<	8A??
Bfilenamez
test.{ext}c                    Uu  pxn	Un
Xj   nUc  UOUR                  US9nU(       a3  U(       a,  UR                  [        R                  R	                  SS95        U(       a  X-  OU S-  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        g ! , (       d  f       N&= f)N)extz9Cannot deduce compression from buffer of compressed data.)reasonr!   r   r   r"   )
formatapplymarkerr1   markxfailr&   write_to_compressedr   r   r'   )r(   r   r   compression_onlyr
   r>   compression_to_extensionr   r   r   compress_typer@   r)   r   r   r+   s                   r	   test_compressionrJ   Z   s     -F($M
"
1C#+xS1IHFKKR  	
 #+8;0FD=5%'=K$__Q_@F  ?&(+ s   C
C-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_compressionrV   ~   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   	)rR   r   sep	Venezuela   Hugo Chávez FríasHenrique Capriles R.CountryTwitter)rB   osr)   joinr   r   r&   r'   )	r   csv_dir_path	utf_valueencoding_fmtr   rR   r)   r+   r   s	            r	   test_compression_utf_encodingrf      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   rg   r   compress_kwargsmsgs        r	   test_invalid_compressionrn      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)ra   r)   rb   r   listcolumns)r   rc   r   r)   dfs        r	   test_compression_tar_archivert      sC    F77<<&67D		B

u$$$r   c                    Un[        SSS/05      nU S-  nU S-  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        g )Nrp   r      ztest.csvztest.csv.zipFindexrP   rQ   r"   )r   to_csvr   
write_text	read_textr&   r'   r   )r(   r   r   rs   path_csvpath_zips         r	   !test_ignore_compression_extensionr~      s    F	C!Q=	!B*$H.(HIIheI$NX  ' 2W   &//(/ErJr   c                    Un[        SS/SS/S.5      nU S-  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                  " Xc5        S S S 5        g ! , (       d  f       g = f)Nr[   r\   r]   r^   ztest.tar.gzFrw   zr:gzr   r   r"   )	r   ry   r&   r'   r   tarfiler   extractfilegetnames)r(   r   r   r   tar_pathtarr+   s          r	   test_writes_tar_gzr      s    F#[1-/EF	
D -'HKKK& &//(3T: 
h	'3OOCLLN1-.G ! 
 	f+	 
(	'	's   'AB77
C)__doc__ra   pathlibr   r   r#   r1   pandasr   pandas._testing_testingr&   rD   filterwarnings
pytestmarkfixturer
   r   parametrizer,   r6   r9   r=   rJ   rV   rf   rn   rt   r~   r    r   r	   <module>r      sZ  
 
      [[''C

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