Ë
    u™ãj  ã                   óT  — d Z ddlmZ ddlZddlZddlZddlZddlZ	ddl
mZ ddlmZ ddlmZ ej"                  j$                  ej"                  j&                  ej"                  j)                  dddg«      ej"                  j)                  d	d
dg«      d„ «       «       «       «       Zej"                  j$                  ej"                  j&                  d„ «       «       Zej.                  d„ «       Zej"                  j&                  ej"                  j$                   G d„ d«      «       «       Zy)zl
Tests parsers ability to read and parse non-local files
and hence require a network connection to be read.
é    )ÚBytesION)Úread_feather©Úread_csvÚmodeÚexplicitÚinferÚengineÚpythonÚcc           	      óX  — |dk(  rt        j                  d«       ||   }t         |dddd|z   «      d«      5 }| j                  |j	                  «       ¬«       d d d «       | j
                  d	z   |z   }	|d
k7  r|}t        |	d||¬«      }
t        j                  |
|«       y # 1 sw Y   ŒHxY w)NÚtarz4TODO: Add tar salaries.csv to pandas/io/parsers/dataÚioÚparserÚdatazsalaries.csvÚrb©Úcontentz/salaries.csvr   ú	)ÚsepÚcompressionr
   )	ÚpytestÚskipÚopenÚserve_contentÚreadÚurlr   ÚtmÚassert_frame_equal)Ú
httpserverÚdatapathÚsalaries_tabler   r
   Úcompression_onlyÚcompression_to_extensionÚ	extensionÚfr   Ú	url_tables              ún/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/io/parser/test_network.pyÚtest_compressed_urlsr)      s±   € ð ˜5Ò Ü�‰ÐJÔKà(Ð)9Ñ:€IÜ	‰h�t˜X v¨~À	Ñ/IÓJÈDÓ	Qð 3ÐUVØ× Ñ ¨¯©«Ð Ô2÷3ð �.‰.˜?Ñ
*¨YÑ
6€CàˆzÒØÐä˜ $Ð4DÈVÔT€IÜ×Ñ˜) ^Õ4÷3ð 3ús   ¸!B Â B)c                 óð   — t         |dddd«      d«      5 }| j                  |j                  «       ¬«       t        | j                  dd¬	«      }ddd«       j
                  d
   dk(  sJ ‚y# 1 sw Y   ŒxY w)zN
    read_csv should honor the requested encoding for URLs.

    GH 10424
    r   r   r   zunicode_series.csvr   r   zlatin-1N)ÚencodingÚheader)é   é   u$   Ã� kÃ¶ldum klaka (Cold Fever) (1994))r   r   r   r   r   Úloc)r    r!   r&   Údfs       r(   Útest_url_encoding_csvr1   3   sw   € ô 
‰h�t˜X vÐ/CÓDÀdÓ	Kð GÈqØ× Ñ ¨¯©«Ð Ô2Ü�j—n‘n¨yÀÔFˆ÷Gð �6‰6�%‰=ÐBÒBÐBÑB÷Gð Gús   –9A,Á,A5c                 ó*   — t         | dddd«      «      S )z DataFrame with the tips dataset.r   r   Úcsvútips.csvr   )r!   s    r(   Útips_dfr5   A   s   € ô ‘H˜T 6¨5°*Ó=Ó>Ð>ó    c                   ó€  — e Zd Zej                  j                  dg d¢«      ej                  j                  dddg«      ej                  j                  dddg«      d	„ «       «       «       Zd
„ Zej                  j                  dddg«      d„ «       Zej                  j                  dg d¢«      ej                  j                  dddg«      d„ «       «       Z	ej                  j                  dg d¢«      d„ «       Z
d„ Zd„ Zej                  j                  d„ «       Zej                  j                  d„ «       Zd„ Zd„ Zy)ÚTestS3zsuffix, compression))Ú N)ú.gzÚgzip)ú.bz2Úbz2ÚnrowsNé
   r
   r   r   c                 ó´   — t        j                  d«       t        d|j                  › d|› �||||¬«      }t	        j
                  ||j                  d | «       y )NÚs3fsús3://ú	/tips.csv)r>   r   Ústorage_optionsr
   )r   Úimportorskipr   Únamer   r   Úiloc)	ÚselfÚs3_bucket_public_with_dataÚs3sor5   Úsuffixr   r>   r
   r0   s	            r(   Útest_parse_public_s3_bucketz"TestS3.test_parse_public_s3_bucketJ   s]   € ô, 	×Ñ˜FÔ#ÜØÐ.×3Ñ3Ð4°I¸f¸XÐFØØ#Ø Øô
ˆô 	×Ñ˜b '§,¡,¨v°Ð"6Õ7r6   c                 ó�   — t        j                  d«       t        d|j                  › d�|¬«      }t	        j
                  ||«       y )NrA   rB   rC   ©rD   )r   rE   r   rF   r   r   )rH   Ús3_bucket_private_with_datarJ   r5   r0   s        r(   Útest_parse_private_s3_bucketz#TestS3.test_parse_private_s3_bucketj   sC   € ä×Ñ˜FÔ#ÜØÐ/×4Ñ4Ð5°YÐ?ÐQUô
ˆô 	×Ñ˜b 'Õ*r6   ÚschemeÚs3nÚs3ac                 óŠ   — d}t        |› d|j                  › d�||¬«      }t        j                  ||j                  d | «       y )Nr?   z://rC   ©r>   rD   )r   rF   r   r   rG   )rH   rI   rJ   r5   rQ   r>   r0   s          r(   Ú test_parse_public_bucket_s3n_s3az'TestS3.test_parse_public_bucket_s3n_s3ar   sN   € ð ˆÜØˆh�cÐ4×9Ñ9Ð:¸)ÐDØØ ô
ˆô
 	×Ñ˜b '§,¡,¨v°Ð"6Õ7r6   c                 ót  — d}t        d|j                  › d|› �||||¬«      5 }|j                  |k(  sJ ‚dD ]j  }	|j                  «       }
t	        |
t
        j                  «      sJ ‚|
j                  rJ ‚|j                  ||	z  ||	dz   z   }t        j                  ||
«       Œl 	 d d d «       y # 1 sw Y   y xY w)Né   rB   rC   )Ú	chunksizer   rD   r
   )r   r.   é   r.   )r   rF   rY   Ú	get_chunkÚ
isinstanceÚpdÚ	DataFrameÚemptyrG   r   r   )rH   rI   rJ   r5   rK   r   r
   rY   Ú	df_readerÚi_chunkr0   Útrue_dfs               r(   Ú#test_parse_public_s3_bucket_chunkedz*TestS3.test_parse_public_s3_bucket_chunked~   sÑ   € ð ˆ	ÜØÐ.×3Ñ3Ð4°I¸f¸XÐFØØ#Ø Øô
ð 	3ð Ø×&Ñ&¨)Ò3Ð3Ð3Ø$ò 3�ð ×(Ñ(Ó*�Ü! "¤b§l¡lÔ3Ð3Ð3ØŸ8š8Ð#�|Ø!Ÿ,™, y°7Ñ':¸YÈ'ÐTUÉ+Ñ=VÐW�Ü×%Ñ% g¨rÕ2ñ3÷	3÷ 	3ñ 	3ús   £BB.Â.B7rK   )r9   r:   r<   c                 ón   — t        d|j                  › d|› �dd|¬«      }t        j                  ||«       y )NrB   rC   r   r	   )r
   r   rD   ©r   rF   r   r   )rH   rI   rJ   r5   rK   r0   s         r(   Útest_infer_s3_compressionz TestS3.test_infer_s3_compression�   sA   € ô ØÐ.×3Ñ3Ð4°I¸f¸XÐFØØØ ô	
ˆô 	×Ñ˜b 'Õ*r6   c                 ó‚   — d}t        j                  t        |¬«      5  t        d|¬«       d d d «       y # 1 sw Y   y xY w)Nz#The specified bucket does not exist©Úmatchzs3://nyqpug/asdf.csvrN   )r   ÚraisesÚOSErrorr   )rH   rI   rJ   Úmsgs       r(   Útest_read_s3_failszTestS3.test_read_s3_fails©   s9   € Ø3ˆÜ�]‰]œ7¨#Ô.ñ 	CÜÐ+¸TÕB÷	C÷ 	Cñ 	Cús   ž5µ>c                 ó¨   — |j                   › d�}|› }t        j                  t        |¬«      5  t	        d|› �|¬«       d d d «       y # 1 sw Y   y xY w)Nz	/file.csvrh   rB   rN   )rF   r   rj   ÚFileNotFoundErrorr   )rH   rO   rJ   Ús3_urlrl   s        r(   Útest_read_s3_fails_privatez!TestS3.test_read_s3_fails_private®   sW   € Ø/×4Ñ4Ð5°YÐ?ˆØ�ˆô �]‰]Ô,°CÔ8ñ 	ÜØ˜�xÐ Ø $õ÷	÷ 	ñ 	ús   ®AÁAc                 óT  — |j                  d«      }t        |j                  «       d   j                  «       «      5 }t	        |d¬«      }d d d «       t        t        j                  «      sJ ‚|j                  rJ ‚t	        |«      }t        j                  ||«       y # 1 sw Y   ŒUxY w)Nr4   ÚBodyÚutf8)r+   )ÚObjectr   Úgetr   r   r\   r]   r^   r_   r   r   )rH   rI   Ú	tips_fileÚ	s3_objectÚbufferÚresultÚexpecteds          r(   Ú$test_read_csv_handles_boto_s3_objectz+TestS3.test_read_csv_handles_boto_s3_object¹   sŽ   € ð /×5Ñ5°jÓAˆ	ä�Y—]‘]“_ VÑ,×1Ñ1Ó3Ó4ð 	7¸Ü˜f¨vÔ6ˆF÷	7ä˜&¤"§,¡,Ô/Ð/Ð/Ø—<’<ÐÐä˜IÓ&ˆÜ
×Ñ˜f hÕ/÷	7ð 	7ús   ¼BÂB'c                 ó|  — t        j                  t        j                  d«      t	        d«      ¬«      }t        |j                  «       j                  d«      «      5 }|j                  d|¬«       |j                  › d�}t        j                  d|› d	�«      }|j                  t        j                  d
¬«      5  t        d|› �d|¬«       |j                   D ]:  }t        j"                  ||«      x}	sŒt%        |	j'                  d«      «      dk  rŒ:J ‚ 	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)N)i † é   Úabcd)Úcolumnszutf-8zlarge-file.csv)ÚKeyrs   z/large-file.csvz^Fetch: z, 0-(?P<stop>\d+)$rA   )ÚloggerrB   rX   rU   Ústopi z )r]   r^   ÚnpÚzerosÚlistr   Úto_csvÚencodeÚ
put_objectrF   ÚreÚcompileÚat_levelÚloggingÚDEBUGr   Úmessagesri   ÚintÚgroup)
rH   Ús3_bucket_publicrJ   Úcaplogr0   ÚbufÚuriÚmatch_reÚlogri   s
             r(   Útest_read_csv_chunked_downloadz%TestS3.test_read_csv_chunked_downloadÉ   s'  € ô �\‰\œ"Ÿ(™( ;Ó/¼¸f»ÔFˆÜ�R—Y‘Y“[×'Ñ'¨Ó0Ó1ð 	B°SØ×'Ñ'Ð,<À3Ð'ÔGØ%×*Ñ*Ð+¨?Ð;ˆCÜ—z‘z X¨c¨UÐ2DÐ"EÓFˆHØ—‘¤§¡°v�Ó>ñ 	BÜØ˜C˜5�MØØ$(õð
 "Ÿ?™?ò B�CÜ "§¡¨°3Ó 7Ð7�uÑ7ä" 5§;¡;¨vÓ#6Ó7¸'ÓAÐAÐAñB÷	B÷		Bð 	B÷	Bð 	Bú÷		Bð 	Bús1   ÁAD2Â99D&Ã3D&ÄD&ÄD2Ä&D/	Ä+D2Ä2D;c                 óf   — t        d|j                  › d�|¬«      }t        j                  ||«       y )NrB   z/tips#1.csvrN   re   )rH   rI   rJ   r5   rz   s        r(   Útest_read_s3_with_hash_in_keyz$TestS3.test_read_s3_with_hash_in_keyÜ   s5   € äØÐ.×3Ñ3Ð4°KÐ@ÐRVô
ˆô 	×Ñ˜g vÕ.r6   c                 ó¦   — t        j                  d«       t        |«      }t        d|j                  › d�|¬«      }t	        j
                  ||«       y )NÚpyarrowrB   z/simple_dataset.featherrN   )r   rE   r   rF   r   r   )rH   rI   rJ   Úfeather_filer{   Úress         r(   Útest_read_feather_s3_file_pathz%TestS3.test_read_feather_s3_file_pathã   sP   € ô 	×Ñ˜IÔ&Ü Ó-ˆÜØÐ.×3Ñ3Ð4Ð4KÐLØ ô
ˆô 	×Ñ˜h¨Õ,r6   )Ú__name__Ú
__module__Ú__qualname__r   ÚmarkÚparametrizerL   rP   rV   rc   rf   rm   rq   Ú
single_cpur|   r˜   rš   rŸ   © r6   r(   r8   r8   G   sZ  „ ð ‡[�[×ÑØò	
óð ‡[�[×Ñ˜W t¨R jÓ1Ø‡[�[×Ñ˜X¨¨X Ó7ñ8ó 8ó 2óð8ò,+ð ‡[�[×Ñ˜X¨¨u ~Ó6ñ	8ó 7ð	8ð ‡[�[×ÑØò	
óð ‡[�[×Ñ˜X¨¨X Ó7ñ3ó 8óð3ð, ‡[�[×Ñ˜XÒ':Ó;ñ	+ó <ð	+òCò
	ð ‡[�[×Ññ0ó ð0ð ‡[�[×ÑñBó ðBò$/ó
-r6   r8   )Ú__doc__r   r   r�   rŠ   Únumpyr„   r   Úpandasr]   Úpandas._testingÚ_testingr   Úpandas.io.feather_formatr   Úpandas.io.parsersr   r£   Únetworkr¥   r¤   r)   r1   Úfixturer5   r8   r¦   r6   r(   ú<module>r°      s  ðñõ
 Û Û 	ã Û ã Ý å 1Ý &ð ‡�×ÑØ‡�×ÑØ‡�×Ñ˜ *¨gÐ!6Ó7Ø‡�×Ñ˜ H¨c ?Ó3ñ5ó 4ó 8ó ó ð5ð6 ‡�×ÑØ‡�×Ññ	Có ó ð	Cð ‡�ñ?ó ð?ð
 ‡�×ÑØ‡�×Ñ÷d-ð d-ó ó ñd-r6   