Ë
    «2Úik  ã                   ó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/html/acx/venv/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ä	ˆd�DÓ	ð ˜QØ�v‰v‹xˆ÷à�‰˜tÓ$€Hà�4˜Ð!Ð!÷	ð ús	   �>¾AÚcompression)ÚzipÚinferÚzip2c                 ó\  — |\  }}}| dz  }t        j                  |d¬«      5 }|j                  d|«       d d d «       |dk(  r)t        |d«      5 }|j	                  |d¬«      }	d d d «       n|j	                  ||¬«      }	t        j                  	|«       y # 1 sw Y   ŒaxY w# 1 sw Y   Œ,xY w)	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ˆD�(à�oÑ%€DÜ	�‰˜ CÔ	(ð (¨CØ�‰�[ $Ô'÷(ð �fÒÜ�$˜Óð 	; Ø—_‘_ Q°E�_Ó:ˆF÷	;ð 	;ð —‘ °;�Ó?ˆä×Ñ˜& (Õ+÷(ð (ú÷	;ð 	;ús   £BÁB"ÂBÂ"B+r   r   c                 ó4  — |\  }}}| dz  }ddg}t        j                  |d¬«      5 }|D ]  }	|j                  |	|«       Œ 	 d d d «       t        j                  t
        d¬«      5  |j                  ||¬«       d d d «       y # 1 sw Y   ŒAxY w# 1 sw Y   y xY w)	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�(àÐ(Ñ(€DØ# ]Ð3Ðä	�‰˜ CÔ	(ð *¨CØ)ò 	*ˆIØ�L‰L˜ DÕ)ñ	*÷*ô 
�‰”zÐ)9Ô	:ñ 7Ø�‰˜¨+ˆÔ6÷7ð 7÷	*ð *ú÷7ð 7ús   §BÁ%BÂBÂBc                 óú   — |\  }}}| dz  }t        j                  |d¬«      5  	 d d d «       t        j                  t        d¬«      5  |j                  |d¬«       d d d «       y # 1 sw Y   ŒAxY w# 1 sw Y   y xY w)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   sw   € Ø"�L€FˆAˆqà�oÑ%€DÜ	�‰˜ CÔ	(ñ Ø÷ô 
�‰”z¨Ô	6ñ 1Ø�‰˜¨%ˆÔ0÷1ð 1÷ð ú÷1ð 1ús   £A%ÁA1Á%A.Á1A:c                 ó  — |\  }}}| dz  }|j                  «        t        |d«      5 }t        j                  t        j
                  d¬«      5  |j                  |d¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)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   s�   € Ø"�L€FˆAˆqàÐ(Ñ(€DØ‡J�J„LÜ	ˆd�DÓ	ð 2˜QÜ�]‰]œ7×-Ñ-Ð5MÔNñ 	2Ø�O‰O˜A¨5ˆOÔ1÷	2÷2ð 2÷	2ð 	2ú÷2ð 2ús#   ¨&A?ÁA3Á"A?Á3A<	Á8A?Á?BÚfilenamez
test.{ext}c                 óÂ  — |\  }}}	|}
||
   }|€|n|j                  |¬«      }|r1|r/|j                  t        j                  j	                  d¬«      «       |r| |z  n| dz  }t        j                  |
||«       |rdn|
}|r)t        |d«      5 }|j                  ||¬«      }d d d «       n|j                  ||¬«      }t        j                  |	«       y # 1 sw Y   Œ xY w)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ˆD�(Ø$€Mà
" =Ñ
1€CØ#Ð+‰x°·±ÀS°Ó1I€Há‘FØ×ÑÜ�K‰K×ÑØRð ó ô	
ñ #+ˆ8�hÒ°¸;Ñ0F€DÜ×Ñ˜=¨$°Ô5Ù%‘'¨=€KáÜ�$˜Óð 	A Ø—_‘_ Q°K�_Ó@ˆF÷	Að 	Að —‘ °;�Ó?ˆä×Ñ˜& (Õ+÷	Að 	Aús   ÂCÃ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_compressionrV   ~   s¨   € ð €FØ¨TÑ2€Fàˆv�‰˜tÑ. vÑ.€HØ#€Fˆ=ÑáÜ�$ Ô)ð 	2¨QØ$�V—_‘_ QÑ1¨&Ñ1ˆF÷	2ð 	2ñ ˆc�CŠi BˆØ �—‘ ¨¡Ñ6¨vÑ6ˆä×Ñ˜& (Õ+÷	2ð 	2ús   ¯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   ú	)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   ‘   s|   € à€FØ×"Ñ" 9Ó-€HÜ�7‰7�<‰<˜¨¨I¨;°mÐ&DÓE€Dà�_‰_˜T¨HÀ%ÈTˆ_ÓR€FÜà# [Ð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   rg   r   Úcompress_kwargsÚmsgs        r	   Útest_invalid_compressionrn   ¢   sT   € à€FØ$Ð&9Ð:€Oà+Ð,?Ð+@Ð
A€Cä	�‰”z¨Ô	-ñ <Øˆ�‰Ñ;¨?Ò;÷<÷ <ñ <ús   §AÁAc                 ó    — | }t         j                  j                  |d«      }|j                  |«      }t	        |j
                  «      dgk(  sJ ‚y )Nztar_csv.tar.gzÚa)ra   r)   rb   r   ÚlistÚcolumns)r   rc   r   r)   Údfs        r	   Útest_compression_tar_archivert   ­   sC   € Ø€FÜ�7‰7�<‰<˜Ð&6Ó7€DØ	�‰˜Ó	€BÜ�—
‘
Ó ˜uÒ$Ð$Ñ$r   c                 ó  — |}t        dddgi«      }| dz  }| dz  }|j                  |d¬«       t        |«      j                  t        |«      j	                  d¬	«      d¬	«       t        j                  |j                  |d ¬
«      |«       y )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à‡I�Iˆh˜e€IÔ$ÜˆƒN×ÑÜˆX‹× Ñ ¨'Ð Ó2¸Wð ô ô ×Ñ˜&Ÿ/™/¨(À˜/ÓEÀrÕJr   c                 óŽ  — |}t        ddgddgdœ«      }| dz  }|j                  |d¬«       t        j                  |j	                  |«      |«       t        j                  |d«      5 }|j	                  |j                  |j                  «       d	   «      d
¬«      }t        j                  ||«       d d d «       y # 1 sw Y   y xY w)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Ø‡K�K� €KÔ&ô ×Ñ˜&Ÿ/™/¨(Ó3°TÔ:ô 
�‰�h Ó	'ð ,¨3Ø—‘Ø�O‰O˜CŸL™L›N¨1Ñ-Ó.¸Gð !ó 
ˆô 	×Ñ˜f dÔ+÷	,÷ ,ñ ,ús   Á(A
B;Â;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�      s\  ðñó
 
Ý Û Û ã å Ý à�[‰[×'Ñ'ØCó€
ð
 €‡�˜˜e�}Ô%ñó &ðð ‡�ñ"ó ð"ð ‡�×Ñ˜Ò(@ÓAñ,ó Bð,ð  ‡�×Ñ˜¨°Ð(8Ó9ñ7ó :ð7ò1ò2ð ‡�×Ñ˜ d¨LÐ%9Ó:ñ ,ó ;ð ,ðF ‡�×Ñ˜Ò 3Ó4ñ,ó 5ð,ò$,ð" ‡�×ÑÐ.Ò0JÓKñ<ó Lð<ò%òKó,r   