Ë
    ¤ehÔ  ã            
       óÆ  — d Z ddlZddlmZ ddlZddlmZ ddlmZ ddl	m
Z ej                  j                  d«      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ej                  j)                  dddidfddiefdd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)ÚParserWarning)Ú	DataFramez=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc                  ó    — d} dddddddœ}| |fS )NÚweirdFú~ú:ú`é   )ÚdoublequoteÚ
escapecharÚ	delimiterÚskipinitialspaceÚ	quotecharÚquoting© )Údialect_nameÚdialect_kwargss     úa/var/www/skyplay_api_hub/venv/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_dialectr3   #   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        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   )
r   r*   Úwith_csv_dialectr$   r%   r&   r'   r(   r   r+   )r,   r   r-   r.   r2   r0   r1   s          r   Útest_dialect_strr=   @   sÙ   € Ø€LØ€Fð€Dô
 ˜w¨Ð/¸zÈ8Ð>TÑUÓ
V€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   ÚInvalidDialectr@   V   s   „ Ør   rD   za
1zInvalid dialectr   r   )r%   r&   r'   r(   r   )r,   rD   r.   r-   r0   s        r   Útest_invalid_dialectrE   U   sX   € ÷ñ ð €DØ€FØ
€Cä	�‰”z¨Ô	-ñ @Ø�‰œ ›°ˆÔ?÷@÷ @ñ @ús   ¬AÁAÚarg)Nr   r   r   r   r   Úvalue)r   ÚdefaultÚotherc           	      ó4  — |\  }}| }t        dgdgdœ«      }d}d }	i }
|�-|dk(  r	||   |
|<   n|dk(  rddlm} ||   |
|<   nt        }	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)Né   é   ©r   Úbúa:b
1:2r   rH   r   )Úparser_defaultsÚblahr   r   r   zConflicting values for)r   Úpandas.io.parsers.base_parserrP   r   r*   r<   r$   r%   r&   r'   Úread_csv_check_warningsr   r+   )r,   r   rF   rG   r   r   r-   Úexpectedr.   Úwarning_klassÚkwdsrP   r0   Úresults                 r   Ú&test_dialect_conflict_except_delimiterrX   a   sa  € ð $2Ñ €L�.Ø€Fä ˜s¨!¨Ñ-Ó.€HØ€Dà€MØ€Dð €Ø�IÒØ& sÑ+ˆD�ŠIØ�iÒÝEà'¨Ñ,ˆD�ŠIä)ˆMØˆD�‰Iä	×	Ñ	˜\Ñ	<¨^Ñ	<ñ 0Ø�=‰=˜IÒ%ØSˆCÜ—‘œz°Ô5ñ Ø.�×.Ñ.àØ,Ü˜T“Nñ	ð
 )ðð ò÷ð ÷0ð 0ð 0�×/Ñ/ØØ$Ü�T‹Nñ
ð !ð	
ð
 ñ
ˆô 	×Ñ˜f hÔ/÷)0ð 0÷ð ú÷0ð 0ús*   Á#-DÂ!DÂ1	DÃ6DÄD	ÄDÄDzkwargs,warning_klassÚsepú,ú.r   r	   )zsep-override-truezsep-override-falsezdelimiter-no-conflictzdelimiter-default-argzdelimiter-conflictzdelimiter-conflict2)Úidsc           	      óÎ  — |\  }}| }t        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)
NrK   rL   rM   rO   r   r   r   z"Conflicting values for 'delimiter'r   )
r   r*   r<   r$   r%   r&   r'   rS   r   r+   )r,   r   ÚkwargsrU   r   r   r-   rT   r.   r0   rW   s              r   Útest_dialect_conflict_delimiterr_   ”   s  € ð* $2Ñ €L�.Ø€Fä ˜s¨!¨Ñ-Ó.€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*   ÚmarkÚfilterwarningsÚ
pytestmarkÚfixturer   r3   r=   rE   ÚparametrizerX   r_   r   r   r   ú<module>rk      s%  ðñó
 Ý ã å 'å Ý à�[‰[×'Ñ'ØCó€
ð
 ‡�ñ
(ó ð
(ò#ò:'ò*	@ð ‡�×ÑØ	ÚSóð ‡�×Ñ˜Ò"AÓBñ+0ó Có	ð
+0ð\ ‡�×ÑØà
�ˆ�tÐØ
�ˆ�}Ð%Ø
�sÐ	˜TÐ"Ø
�tÐ	˜dÐ#Ø
�sÐ	˜]Ð+Ø
�sÐ	˜]Ð+ðò	ð ó ñ&0ó'ñ&0r   