
    Pi                        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m	c m
Z ddlmZ ddlmZ ddlmZ ddlmZ ej                            d          Zej        j        ej        j        ej                            dd	d
g          e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         ej                     G d d                                              Z dS )zl
Tests parsers ability to read and parse non-local files
and hence require a network connection to be read.
    )BytesION)	DataFrame)read_featherread_csvz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningmodeexplicitinferenginepythoncc           	         |dk    rt          j        d           ||         }t           |dddd|z             d          5 }|                     |                                           d d d            n# 1 swxY w Y   | j        d	z   |z   }	|d
k    r|}t          |	d||          }
t          j        |
|           d S )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              w/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/io/parser/test_network.pytest_compressed_urlsr*      s    5  JKKK()9:I	hhtXv~	/IJJD	Q	Q 3UV   2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 .?
*Y
6Cz$4DVTTTI)^44444s   )A77A;>A;c                    t           |dddd          d          5 }|                     |                                           t          | j        dd	          }ddd           n# 1 swxY w Y   |j        d
         dk    sJ dS )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_csvr2   9   s     
hhtXv/CDDd	K	K Gq   222jnyFFFG G G G G G G G G G G G G G G 6%=BBBBBBBs   A A))A-0A-c                 8    t           | dddd                    S )z DataFrame with the tips dataset.r   r   csvtips.csvr   )r"   s    r)   tips_dfr6   G   s"     HHT65*==>>>    c                      e Zd Zej                            dg d          ej                            dddg          ej                            dddg          d	                                     Zd
 Zej                            dddg          d             Zej                            dg d          ej                            dddg          d                         Z	ej                            dg d          d             Z
d Zd Zej        j        d             Zej        j        d             Zd Zd ZdS )TestS3zsuffix, compression)) N).gzgzip).bz2bz2nrowsN
   r   r   r   c                     t          j        d           t          d|j         d| ||||          }t	          j        ||j        d |                    d S )Ns3fss3://	/tips.csv)r?   r   storage_optionsr   )r   importorskipr   namer   r    iloc)	selfs3_bucket_public_with_datas3sor6   suffixr   r?   r   r1   s	            r)   test_parse_public_s3_bucketz"TestS3.test_parse_public_s3_bucketQ   sr    , 	F###F.3FFfFF# 
 
 
 	b',vv"677777r7   c                     t          j        d           t          d|j         d|          }t	          j        ||           d S )NrB   rC   rD   rE   )r   rF   r   rG   r   r    )rI   s3_bucket_private_with_datarK   r6   r1   s        r)   test_parse_private_s3_bucketz#TestS3.test_parse_private_s3_bucketq   sW    F###?/4???QU
 
 
 	b'*****r7   schemes3ns3ac                     d}t          | d|j         d||          }t          j        ||j        d |                    d S )Nr@   z://rD   r?   rE   )r   rG   r   r    rH   )rI   rJ   rK   r6   rR   r?   r1   s          r)    test_parse_public_bucket_s3n_s3az'TestS3.test_parse_public_bucket_s3n_s3ay   sa     DD49DDD 
 
 

 	b',vv"677777r7   c                 b   d}t          d|j         d| ||||          5 }|j        |k    sJ dD ]c}	|                                }
t	          |
t
                    sJ |
j        rJ |j        ||	z  ||	dz   z           }t          j	        ||
           d	 d d d            d S # 1 swxY w Y   d S )N   rC   rD   )	chunksizer   rE   r   )r   r/      r/   )
r   rG   rZ   	get_chunk
isinstancer   emptyrH   r   r    )rI   rJ   rK   r6   rL   r   r   rZ   	df_readeri_chunkr1   true_dfs               r)   #test_parse_public_s3_bucket_chunkedz*TestS3.test_parse_public_s3_bucket_chunked   s9    	F.3FFfFF# 
 
 
 	3 &)3333$ 3 3 ((**!"i000008##|!,y7':Y'TU+=V'VW%gr22223	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3s   A4B$$B(+B(rL   )r:   r;   r=   c                 l    t          d|j         d| dd|          }t          j        ||           d S )NrC   rD   r   r
   )r   r   rE   r   rG   r   r    )rI   rJ   rK   r6   rL   r1   s         r)   test_infer_s3_compressionz TestS3.test_infer_s3_compression   sS     F.3FFfFF 	
 
 
 	b'*****r7   c                     d}t          j        t          |          5  t          d|           d d d            d S # 1 swxY w Y   d S )Nz#The specified bucket does not existmatchzs3://nyqpug/asdf.csvrO   )r   raisesOSErrorr   )rI   rJ   rK   msgs       r)   test_read_s3_failszTestS3.test_read_s3_fails   s    3]7#... 	C 	C+TBBBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	Cs   =AAc                     |j          d}| }t          j        t          |          5  t	          d| |           d d d            d S # 1 swxY w Y   d S )Nz	/file.csvrg   rC   rO   )rG   r   ri   FileNotFoundErrorr   )rI   rP   rK   s3_urlrk   s        r)   test_read_s3_fails_privatez!TestS3.test_read_s3_fails_private   s    /4???l ],C888 	 	    $   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAc                 |   |                     d          }t          |                                d                                                   5 }t	          |d          }d d d            n# 1 swxY w Y   t          |t                    sJ |j        rJ t	          |          }t          j	        ||           d S )Nr5   Bodyutf8)r,   )
Objectr   getr   r   r]   r   r^   r   r    )rI   rJ   	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5jAA	Y]]__V,113344 	7fv666F	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7&),,,,,<I&&
fh/////s   A--A14A1c                    t          t          j        d          t          d                    }t	          |                                                    d                    5 }|                    d|           |j         d}t          j
        d| d	          }|                    t          j        d
          5  t          d| d|           |j        D ]A}t          j        ||          x}	r(t#          |	                    d                    dk     sJ B	 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 )N)i    abcd)columnszutf-8zlarge-file.csv)Keyrr   z/large-file.csvz^Fetch: z, 0-(?P<stop>\d+)$rB   )loggerrC   rY   rV   stopi z )r   npzeroslistr   to_csvencode
put_objectrG   recompileat_levelloggingDEBUGr   messagesrh   intgroup)
rI   s3_bucket_publicrK   caplogr1   bufurimatch_relogrh   s
             r)   test_read_csv_chunked_downloadz%TestS3.test_read_csv_chunked_download   s    rx,,d6llCCCRYY[[''0011 	BS'',<3'GGG%*;;;Cz"Ec"E"E"EFFHv>> 	B 	B!CMM$(   
 "? B BC "3 7 77u B"5;;v#6#677'AAAAB	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B		B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	Bs8   %AE AD, E,D0	0E3D0	4EEEc                 d    t          d|j         d|          }t          j        ||           d S )NrC   z/tips#1.csvrO   rd   )rI   rJ   rK   r6   ry   s        r)   test_read_s3_with_hash_in_keyz$TestS3.test_read_s3_with_hash_in_key   sF    @.3@@@RV
 
 
 	gv.....r7   c                     t          j        d           t          |          }t          d|j         d|          }t	          j        ||           d S )NpyarrowrC   z/simple_dataset.featherrO   )r   rF   r   rG   r   r    )rI   rJ   rK   feather_filerz   ress         r)   test_read_feather_s3_file_pathz%TestS3.test_read_feather_s3_file_path   sf     	I&&&--L.3LLL 
 
 
 	h,,,,,r7   )__name__
__module____qualname__r   markparametrizerM   rQ   rW   rb   re   rl   rp   
single_cpur{   r   r   r    r7   r)   r9   r9   M   s        [	
 	
 	
  [WtRj11[XX778 8 87 21 8,+ + + [Xu~66	8 	8 76	8 [	
 	
 	
  [XX773 3 87 3, [X':':':;;	+ 	+ <;	+C C C
	 	 	 [0 0 0 [B B B$/ / /
- 
- 
- 
- 
-r7   r9   )!__doc__r   r   r   r   numpyr   r   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   pandas._testing_testingr   pandas.io.feather_formatr   pandas.io.parsersr   r   filterwarnings
pytestmarknetworkr   r   r*   r2   fixturer6   skip_if_not_us_localer9   r   r7   r)   <module>r      s    
        				      ) ) ) ) ) ) ) ) )             1 1 1 1 1 1 & & & & & &[''C 

 *g!677Hc?335 5 43 87  56 	C 	C  	C ? ? ?
 d- d- d- d- d- d- d-   d- d- d-r7   