Ë
    u™ãjl  ã                   ó˜  — d Z ddlZddlmZ ddlZddlmZ ddlZddl	m
Z ej                  d„ «       Zd„ Zd„ Zd„ Zej"                  j%                  d	g d
¢«      ej"                  j%                  dg d¢«      d„ «       «       Zd„ Zej"                  j%                  dddidfddiefddidfi dfddidfddiefddiefgg d¢¬«      d„ «       Zy)zf
Tests that dialects are properly handled during parsing
for all of the parsers defined in parsers.py
é    N)ÚStringIO)ÚParserWarningc                  ó    — d} dddddddœ}| |fS )NÚweirdFú~ú:ú`é   )ÚdoublequoteÚ
escapecharÚ	delimiterÚskipinitialspaceÚ	quotecharÚquoting© )Údialect_nameÚdialect_kwargss     ún/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/io/parser/test_dialect.pyÚcustom_dialectr      s-   € à€LàØØØ!ØØñ€Nð ˜Ð'Ð'ó    c                 óÞ  — | }d}t        j                  «       }t         j                  |_        |j                  dk(  rCd}t        j                  t        |¬«      5  |j                  t        |«      |¬«       d d d «       y |j                  t        |«      |¬«      }d}|j                  t        |«      «      }|j                  ddd	¬
«       t        j                  ||«       y # 1 sw Y   y xY w)Nz0label1,label2,label3
index1,"a,c,e
index2,b,d,f
Úpyarrowú?The 'dialect' option is not supported with the 'pyarrow' engine©Úmatch©Údialectz/label1,label2,label3
index1,a,c,e
index2,b,d,f
Úaz"aT)Úinplace)ÚcsvÚexcelÚ
QUOTE_NONEr   ÚengineÚpytestÚraisesÚ
ValueErrorÚread_csvr   ÚreplaceÚtmÚassert_frame_equal)Úall_parsersÚparserÚdataÚdiaÚmsgÚdfÚexps          r   Útest_dialectr2      sÂ   € Ø€Fð€Dô �)‰)‹+€CÜ—.‘.€C„Kà‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	9Ø�O‰OœH T›N°CˆOÔ8÷	9àà	�‰œ $›°ˆÓ	5€Bð€Dð
 �/‰/œ( 4›.Ó
)€CØ‡K�K��T 4€KÔ(Ü×Ñ˜"˜cÕ"÷	9àús   ÁC#Ã#C,c                 óÒ  — d}| }d}t        j                  ddgddgdœ«      }t        j                  |d¬	«      5  |j                  d
k(  rLd}t        j                  t        |¬«      5  |j                  t        |«      |¬«       d d d «       	 d d d «       y |j                  t        |«      |¬«      }t        j                  ||«       d d d «       y # 1 sw Y   ŒNxY w# 1 sw Y   y xY w)NÚ	mydialectz+fruit:vegetable
apple:broccoli
pear:tomato
ÚappleÚpearÚbroccoliÚtomato)ÚfruitÚ	vegetabler   )r   r   r   r   r   )ÚpdÚ	DataFramer)   Úwith_csv_dialectr#   r$   r%   r&   r'   r   r*   )r+   r   r,   r-   r1   r/   r0   s          r   Útest_dialect_strr>   <   sâ   € Ø€LØ€Fð€Dô
 �,‰,Ø˜FÐ#°:¸xÐ2HÑIó€Cô 
×	Ñ	˜\°SÔ	9ñ 'Ø�=‰=˜IÒ%ØSˆCÜ—‘œz°Ô5ñ FØ—‘¤¨£¸�ÔE÷Fà÷'ð 'ð �_‰_œX d›^°\ˆ_ÓBˆÜ
×Ñ˜b #Ô&÷'ð '÷Fð Fú÷'ð 'ús)   º-CÁ'CÂ	CÂ2CÃC	ÃCÃC&c                 ó¼   —  G d„ d«      }d}| }d}t        j                  t        |¬«      5  |j                  t	        |«      |¬«       d d d «       y # 1 sw Y   y xY w)Nc                   ó   — e Zd Zy)ú,test_invalid_dialect.<locals>.InvalidDialectN)Ú__name__Ú
__module__Ú__qualname__r   r   r   ÚInvalidDialectrA   T   s   „ Ør   rE   za
1zInvalid dialectr   r   )r$   r%   r&   r'   r   )r+   rE   r-   r,   r/   s        r   Útest_invalid_dialectrF   S   sX   € ÷ñ ð €DØ€FØ
€Cä	�‰”z¨Ô	-ñ @Ø�‰œ ›°ˆÔ?÷@÷ @ñ @ús   ¬AÁAÚarg)Nr   r   r   r   r   Úvalue)r   ÚdefaultÚotherc           	      ó&  — |\  }}| }t        j                  dgdgdœ«      }d}d }	i }
|�4|dk(  r	||   |
|<   n&|dk(  rddlm} ||   |
|<   nt        }	|d	k(  rd
nd|
|<   t        j                  |fi |¤Ž5  |dk(  rW|dk(  rRd|› d�}t        j                  t        |¬«      5   |j                  t        |«      fd|i|
¤Ž d d d «       	 d d d «       y |j                  dk(  rPd}t        j                  t        |¬«      5   |j                  d dt        |«      fd|i|
¤Ž d d d «       	 d d d «       y  |j                  |	dt        |«      fd|i|
¤Ž}t        j                  ||«       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)Né   é   ©r   Úbúa:b
1:2r   rI   r   )Úparser_defaultsr   TÚblahr   rJ   zFor argument "z" expected type boolr   r   r   zConflicting values for)r;   r<   Úpandas.io.parsers.base_parserrQ   r   r)   r=   r$   r%   r&   r'   r   r#   Úread_csv_check_warningsr*   )r+   r   rG   rH   r   r   r,   Úexpectedr-   Úwarning_klassÚkwdsrQ   r/   Úresults                 r   Ú&test_dialect_conflict_except_delimiterrY   _   sã  € ð $2Ñ €L�.Ø€Fä�|‰| 1 #¨Q¨CÑ0Ó1€HØ€Dà€MØ€Dð €Ø�IÒØ& sÑ+ˆD�ŠIØ�iÒÝEà'¨Ñ,ˆD�ŠIä)ˆMð !$Ð'9Ò 9™¸vˆD�‰Iä	×	Ñ	˜\Ñ	<¨^Ñ	<ñ 0Ø�-Ò E¨WÒ$4ð # 3 %Ð';Ð<ˆCÜ—‘œz°Ô5ñ NØ�—‘¤¨£ÑM¸ÐMÈÒM÷Nà÷0ð 0ð �=‰=˜IÒ%ØSˆCÜ—‘œz°Ô5ñ Ø.�×.Ñ.àØ,Ü˜T“Nñ	ð
 )ðð ò÷ð ÷+0ð 0ð. 0�×/Ñ/ØØ$Ü�T‹Nñ
ð !ð	
ð
 ñ
ˆô 	×Ñ˜f hÔ/÷=0ð 0÷Nð Nú÷ð ú÷0ð 0úsH   Á4,FÂ E/Â?	FÃ,FÃ=!E;Ä	FÄ06FÅ/E8	Å4FÅ;F	Æ FÆFc                 óÜ   — | } G d„ d«      }|j                   dk(  rd}nd}t        j                  t        |¬«      5  |j	                  t        d«      |¬«       d d d «       y # 1 sw Y   y xY w)	Nc                   ó$   — e Zd ZdZdZdZdZdZdZy)ú2test_dialect_supplies_non_bool.<locals>.BadDialectú,ÚFalseNFú"r   )	rB   rC   rD   r   r   r   r   r   r   r   r   r   Ú
BadDialectr\   ¤   s!   „ Øˆ	ØˆØˆ
Ø ÐØˆ	Ø‰r   r`   r   r   z-For argument "doublequote" expected type boolr   z	a
"x""y"
r   )r#   r$   r%   r&   r'   r   )r+   r,   r`   r/   s       r   Útest_dialect_supplies_non_boolra   ž   sg   € ð €F÷ñ ð ‡}�}˜	Ò!ØO‰à=ˆä	�‰”z¨Ô	-ñ EØ�‰œ Ó/¸ˆÔD÷E÷ Eñ Eús   ¼A"Á"A+zkwargs,warning_klassÚsepr]   ú.r   r   )zsep-override-truezsep-override-falsezdelimiter-no-conflictzno-sep-or-delimiterzdelimiter-nonezdelimiter-conflictzdelimiter-conflict2)Úidsc           	      óâ  — |\  }}| }t        j                  dgdgdœ«      }d}t        j                  |fi |¤Ž5  |j                  dk(  rPd}	t        j                  t        |	¬«      5   |j                  d dt        |«      fd	|i|¤Ž d d d «       	 d d d «       y  |j                  |dt        |«      fd	|i|¤Ž}
t        j                  |
|«       d d d «       y # 1 sw Y   ŒRxY w# 1 sw Y   y xY w)
NrL   rM   rN   rP   r   r   r   z"Conflicting values for 'delimiter'r   )r;   r<   r)   r=   r#   r$   r%   r&   rT   r   r*   )r+   r   ÚkwargsrV   r   r   r,   rU   r-   r/   rX   s              r   Útest_dialect_conflict_delimiterrg   µ   s  € ð. $2Ñ €L�.Ø€Fä�|‰| 1 #¨Q¨CÑ0Ó1€HØ€Dä	×	Ñ	˜\Ñ	<¨^Ñ	<ñ 0Ø�=‰=˜IÒ%ØSˆCÜ—‘œz°Ô5ñ Ø.�×.Ñ.àØ8Ü˜T“Nñ	ð
 )ðð ò÷ð ÷0ð 0ð 0�×/Ñ/ØØ0Ü�T‹Nñ
ð !ð	
ð
 ñ
ˆô 	×Ñ˜f hÔ/÷)0ð 0÷ð ú÷0ð 0ús)   º-C%Á'!CÂ	C%Â6C%ÃC"	ÃC%Ã%C.)Ú__doc__r    Úior   r$   Úpandas.errorsr   Úpandasr;   Úpandas._testingÚ_testingr)   Úfixturer   r2   r>   rF   ÚmarkÚparametrizerY   ra   rg   r   r   r   ú<module>rq      s  ðñó
 Ý ã å 'ã Ý ð ‡�ñ
(ó ð
(ò#ò:'ò.	@ð ‡�×ÑØ	ÚSóð ‡�×Ñ˜Ò"AÓBñ70ó Có	ð
70òtEð. ‡�×ÑØà
�ˆ�tÐØ
�ˆ�}Ð%Ø
�sÐ	˜TÐ"Ø	ˆTˆ
Ø
�tÐ	˜dÐ#Ø
�sÐ	˜]Ð+Ø
�sÐ	˜]Ð+ðò	ð ó ñ*0ó+ñ*0r   