
    Owg                     h   d Z ddlZddlmZ ddlZddlZddlZddlmZ ddl	m
Z ej                  j                  d      Z ej                  ddg      d	        Zej                  d
        Zej                  j%                  dg d      d        Zej                  j%                  dddg      d        Zd Zd Zej                  j%                  dddg      d        Zej                  j%                  dg d      d        Zd Zej                  j%                  dg d      d        Zd Zd Zd Zy) 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                     | j                   S )N)param)requests    ^/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/io/parser/test_compression.pybufferr
      s    ==    c                     | }t        |d      5 }|j                         }d d d        |j                  |      }||fS # 1 sw Y   xY w)Nrb)openreadread_csv)all_parserscsv1parserfdataexpecteds         r	   parser_and_datar      sN    F	dD	 Qvvxt$H4!!	 s	   >Acompression)zipinferzip2c                    | \  }}}t        j                  d      5 }t        j                  |d      5 }|j	                  d|       d d d        |dk(  r)t        |d      5 }|j                  |d      }d d d        n|j                  ||      }t        j                  |       d d d        y # 1 sw Y   ixY w# 1 sw Y   4xY w# 1 sw Y   y xY w)	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    ,FD(		) 
0T__T, 	,LLd+	, & dD! ?Q>? ? __T{_CF
fh/
0 
0	, 	,? ?
0 
0s:   CB/C B;42C/B8	4C;C	 CCr   r   c                 ~   | \  }}}t        j                  d      5 }ddg}t        j                  |d      5 }|D ]  }|j	                  ||        	 d d d        t        j                  t        d      5  |j                  ||       d d d        d d d        y # 1 sw Y   IxY w# 1 sw Y   xY w# 1 sw Y   y xY w)	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    ,FD(	+	, ;'7__T, 	.- .	Y-.	. ]]:-=> 	;OODkO:	;; ;	. 	.	; 	;; ;s:   B3B#B36B'
B3B$	 B3'B0	,B33B<c                 B   | \  }}}t        j                         5 }t        j                  |d      5  	 d d d        t	        j
                  t        d      5  |j                  |d       d d d        d d d        y # 1 sw Y   IxY w# 1 sw Y   xY w# 1 sw Y   y xY w)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   s    "LFAq		 5d__T, 		 ]]:\: 	5OODeO4	5	5 5	 		5 	5	5 5s9   BA=#BB	,B=B	B	B	BBc                 >   | \  }}}t        j                         5 }t        |d      5 }t        j                  t
        j                  d      5  |j                  |d       d d d        d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)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   s    "LFAq		 6d$ 	6w119QR 6u56	66 66 6	6 	66 6s:   B&BA;"B*B;B BB	BBfilenamez
test.{ext}c                     |\  }}}|}	||	   }
||n|j                  |
      }|r1|r/| j                  t        j                  j	                  d             t        j                  |      5 }t        j                  |	||       |rdn|	}|r)t        |d      5 }|j                  ||      }d d d        n|j                  ||      }t        j                  |       d d d        y # 1 sw Y   (xY w# 1 sw Y   y xY w)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    -FD($M
"=
1C#+xS1IHFKKR  	
 
(	+ 
0t
}dD9!)g}dD! EQDE E __T{_CF
fh/
0 
0
E E
0 
0s$   -,C4C(-2C4(C1	-C44C=r?   )Ngzbz2c                    | }ddd} |j                   |fi |}d|d<   |r*t        |d      5 } |j                   |fi |}d d d        n|rd|z   nd	} |j                   ||z   fi |}t        j                  |       y # 1 sw Y    xY w)
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vt.v.H#F=$) 	2Q$V__Q1&1F	2 	2 cCiB 6v6&(+	2 	2s   BBc                     | }|j                  |      }t        j                  j                  |d| d      }|j	                  ||dd      }t        ddgddgd	      }t        j                  ||       y )
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      s|    F""9-H77<<I;m&DED__TH%T_RF#[1-/EF	
H &(+r   invalid_compression)sfarkbz3zipperc                     | }d|i}d| }t        j                  t        |      5   |j                  di | d d d        y # 1 sw Y   y xY w)Nr   zUnrecognized compression type: r/   )r   )r1   r2   r3   r   )r   rf   r   compress_kwargsmsgs        r	   test_invalid_compressionrm      sT    F$&9:O+,?+@
AC	z	- <;?;< < <s   AAc                     | }t         j                  j                  |d      }|j                  |      }t	        |j
                        dgk(  sJ y )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                    | }t        dddgi      }t        j                  d      5 }t        j                  d      5 }|j                  |d       t	        |      j                  t	        |      j                  d	      d	       t        j                  |j                  |d 
      |       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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		$ S__^, 	SIIheI,N%%X(('(:W &  !!&//(/"MrR	SS S	S 	SS Ss#   C
A0B>-C
>C	C

Cc                    | }t        ddgddgd      }t        j                  d      5 }|j                  |d       t        j                  |j                  |      |       t        j                  |d      5 }|j                  |j                  |j                         d	         d
      }t        j                  ||       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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 
	' 08HE* 	fooh7> \\(F+ 	0s__q 12 % F !!&$/		00 0	0 	00 0s%   AC 9A
CC C	C  C))__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      s\  
 
      [[''C

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