
    bMh                     z   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                            d          Z ej        ddg          d	             Zej        d
             Zej                            dg d          d             Zej                            dddg          d             Zd Zd Zej                            dddg          d             Zej                            dg d          d             Zd Zej                            dg d          d             Zd Zd Zd ZdS ) 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    g/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/io/parser/test_compression.pybufferr
      s
    =    c                     | }t          |d          5 }|                                }d d d            n# 1 swxY w Y   |                    |          }|||fS )Nrb)openreadread_csv)all_parserscsv1parserfdataexpecteds         r	   parser_and_datar      s    F	dD		 Qvvxx              t$$H4!!s   488compression)zipinferzip2c                    | \  }}}t          j        d          5 }t          j        |d          5 }|                    d|           d d d            n# 1 swxY w Y   |dk    r@t          |d          5 }|                    |d          }d d d            n# 1 swxY w Y   n|                    ||          }t          j        ||           d d d            d S # 1 swxY w Y   d S )	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{_CCF
fh///
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0sX   CA	CA	CA	C6BCB	C!B	"0CC#&C#r   r   c                    | \  }}}t          j        d          5 }ddg}t          j        |d          5 }|D ]}|                    ||           	 d d d            n# 1 swxY w Y   t          j        t          d          5  |                    ||           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )	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:::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;sX   CACA#	#C&A#	'CB)C)B-	-C0B-	1CCCc                 \   | \  }}}t          j                    5 }t          j        |d          5  	 d d d            n# 1 swxY w Y   t	          j        t          d          5  |                    |d           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )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   sk   "LFAq			 5d_T,,, 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:\::: 	5 	5OODeO444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5	5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5sU   B!?B!A	B!A	B!%B	=B!	B	B!B	B!!B%(B%c                 X   | \  }}}t          j                    5 }t          |d          5 }t          j        t
          j        d          5  |                    |d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )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   sb   "LFAq			 6d$ 	6w19QRRR 6 6u5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	66 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6sX   B!BA0$B0A44B7A48B;BB	BB	BB#&B#filenamez
test.{ext}c                 8   |\  }}}|}	||	         }
||n|                     |
          }|r5|r3|                     t          j                            d                     t          j        |          5 }t          j        |	||           |rdn|	}|r@t          |d          5 }|	                    ||          }d d d            n# 1 swxY w Y   n|	                    ||          }t          j
        ||           d d d            d S # 1 swxY w Y   d S )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#+xxS1I1IH 
F 
KR   	
 	
 	
 
(	+	+	+ 
0t
}dD999!)<gg} 	DdD!! EQDDE E E E E E E E E E E E E E E __T{_CCF
fh///
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0s6   7/D&C
>D
C	DC	0DDDr?   )Ngzbz2c                    | }ddd} |j         |fi |}d|d<   |r8t          |d          5 } |j         |fi |}d d d            n# 1 swxY w Y   n|rd|z   nd	} |j         ||z   fi |}t          j        ||           d S )
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22Fvt..v..H#F= 7$))) 	2Q$V_Q11&11F	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 &cCiiB 66v66&(+++++s   A		AAc                    | }|                     |          }t          j                            |d| d          }|                    ||dd          }t          ddgddgd	          }t          j        ||           d S )
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7<<&DI&D&D&DEED__TH%T_RRF#[1-/EF	
 	
 H &(+++++r   invalid_compression)sfarkbz3zipperc                     | }d|i}d| }t          j        t          |          5   |j        di | d d d            d S # 1 swxY w Y   d S )Nr   zUnrecognized compression type: r/   r   )r   )r1   r2   r3   r   )r   rf   r   compress_kwargsmsgs        r	   test_invalid_compressionrm      s    F$&9:O
A,?
A
AC	z	-	-	- < <;;?;;;< < < < < < < < < < < < < < < < < <s   AA	Ac                     | }t           j                            |d          }|                    |          }t	          |j                  dgk    sJ d S )Nztar_csv.tar.gza)r`   r)   ra   r   listcolumns)r   rb   r   r)   dfs        r	   test_compression_tar_archivers      sQ    F7<<&677D			B
u$$$$$$r   c                    | }t          dddgi          }t          j        d          5 }t          j        d          5 }|                    |d           t	          |                              t	          |                              d	          d	           t          j        |                    |d 
          |           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )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,,,NN%%X(('(::W &    !&//(/"M"MrRRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	SS S S S S S S S S S S S S S S S S Ss5   C*BCC*C	C*C	C**C.1C.c                    | }t          ddgddgd          }t          j        d          5 }|                    |d           t          j        |                    |          |           t          j        |d          5 }|                    |                    |	                                d	                   d
          }t          j        ||           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )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7>>> \(F++ 	0s__q 122 %  F !&$///		0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s7   AC>AC&C>&C*	*C>-C*	.C>>DD)__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      sA   
 
			                     [''C 

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