§
    dŠtj$  ã                   ó  — 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m	Z	 d dl
mZ d dlmZ d dlmZmZmZmZ d„ Zdadd	hZ G d
„ de¦  «        Z edg d¢¦  «         G d„ dej        ¦  «        ¦   «         Z G d„ de¦  «        ZdS )é    N)Úsuppress)Úcached_propertyÚwraps)Úparse_qs)ÚAbstractFileSystem)Ú"get_package_version_without_importÚinfer_storage_optionsÚmirror_fromÚtokenizec                 ó<   ‡ — t          ‰ ¦  «        ˆ fd„¦   «         }|S )Nc                  óÆ   •— 	  ‰| i |¤ŽS # t           $ rK}|j        s‚ |j        ^}} t          |t          ¦  «        rd|v rt	          t
          j        |¦  «        |‚‚ d }~ww xY w)Nzdoes not exist)ÚOSErrorÚargsÚ
isinstanceÚstrÚFileNotFoundErrorÚerrnoÚENOENT)r   ÚkwargsÚ	exceptionÚmessageÚfuncs       €úZ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/fsspec/implementations/arrow.pyÚwrapperz wrap_exceptions.<locals>.wrapper   sˆ   ø€ ð
	Ø�4˜Ð( Ð(Ð(Ð(øÝð 	ð 	ð 	Ø”>ð Øà&œ^ˆNˆG�dÝ˜'¥3Ñ'Ô'ð Ð,<ÀÐ,GÐ,GÝ'­¬°gÑ>Ô>ÀIÐMàøøøøð	øøøs   ƒ ‹
A •AAÁA )r   )r   r   s   ` r   Úwrap_exceptionsr      s3   ø€ Ý
ˆ4�[„[ðð ð ð ñ „[ðð €Nó    ÚgcsÚs3c                   óp  ‡ — e Zd ZdZdZˆ fd„Zed„ ¦   «         Zed„ ¦   «         Z	ˆ fd„Z
ed„ ¦   «         Zdd	„Zd
„ Zd„ Zd„ Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zed„ ¦   «         Zed„ ¦   «         Zdˆ fd„	Zˆ fd„Zˆ xZS ) ÚArrowFSWrapperzwFSSpec-compatible wrapper of pyarrow.fs.FileSystem.

    Parameters
    ----------
    fs : pyarrow.fs.FileSystem

    ú/c                 ó�   •— t          d¦  «        a|| _        |j        t          v rd| _         t          ¦   «         j        di |¤Ž d S )NÚpyarrowÚ © )r   ÚPYARROW_VERSIONÚfsÚ	type_nameÚ_EMPTY_ROOT_MARKER_FILESYSTEMSÚroot_markerÚsuperÚ__init__)Úselfr'   r   Ú	__class__s      €r   r,   zArrowFSWrapper.__init__4   sP   ø€ å<¸YÑGÔGˆØˆŒØŒ<Õ9Ð9Ð9Ø!ˆDÔØ�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ð"Ð"r   c                 ó   — | j         j        S ©N)r'   r(   ©r-   s    r   ÚprotocolzArrowFSWrapper.protocol<   s   € àŒwÔ Ð r   c                 óP   — dt          | j        j        | j        j        ¦  «        z   S )NÚhdfs_)r   r'   ÚhostÚportr1   s    r   ÚfsidzArrowFSWrapper.fsid@   s   € à� $¤'¤,°´´Ñ=Ô=Ñ=Ð=r   c                 óè   •— | j         r!t          ¦   «                              |¦  «        S |                      |¦  «                             d¦  «        }d|v r|                     dd¦  «        d         ndS )Nr!   é   r   r$   )r*   r+   Ú_parentÚ_strip_protocolÚlstripÚrsplit)r-   Úpathr.   s     €r   r:   zArrowFSWrapper._parentD   sk   ø€ ØÔð 	)Ý‘7”7—?’? 4Ñ(Ô(Ð(à×#Ò# DÑ)Ô)×0Ò0°Ñ5Ô5ˆØ),°¨¨ˆt�{Š{˜3 Ñ"Ô" 1Ô%Ð%¸"Ð<r   c                 ór   — t          |¦  «        }|d         }|                     d¦  «        r
|dd …         }|S )Nr>   z//r9   )r	   Ú
startswith)Úclsr>   Úopss      r   r;   zArrowFSWrapper._strip_protocolK   s>   € å# DÑ)Ô)ˆØ�6Œ{ˆØ�?Š?˜4Ñ Ô ð 	à˜˜˜”8ˆDØˆr   Fc                 ó  ‡ — ‰                       |¦  «        }ddlm} 	 ˆ fd„‰ j                              ||¦  «        ¦  «        D ¦   «         }n&# t
          t          f$ r  ‰ j        |fi |¤Žg}Y nw xY w|r|S d„ |D ¦   «         S )Nr   )ÚFileSelectorc                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r%   )Ú_make_entry)Ú.0Úentryr-   s     €r   ú
<listcomp>z%ArrowFSWrapper.ls.<locals>.<listcomp>Y   s7   ø€ ð ð ð àð × Ò  Ñ'Ô'ðð ð r   c                 ó   — g | ]
}|d          ‘ŒS )Únamer%   )rG   rH   s     r   rI   z%ArrowFSWrapper.ls.<locals>.<listcomp>b   s   € Ð7Ð7Ð7 e�E˜&”MÐ7Ð7Ð7r   )r;   Ú
pyarrow.fsrD   r'   Úget_file_infor   ÚNotADirectoryErrorÚinfo)r-   r>   Údetailr   rD   Úentriess   `     r   ÚlszArrowFSWrapper.lsT   sÕ   ø€ Ø×#Ò# DÑ)Ô)ˆØ+Ð+Ð+Ð+Ð+Ð+ð	2ðð ð ð à!œW×2Ò2°<°<ÀÑ3EÔ3EÑFÔFðñ ô ˆGˆGøõ "Õ#5Ð6ð 	2ð 	2ð 	2Ø �t”y Ð0Ð0¨Ð0Ð0Ð1ˆGˆGˆGð	2øøøàð 	8ØˆNà7Ð7¨wÐ7Ñ7Ô7Ð7s   ž/A Á A1Á0A1c                 ó�   — |                       |¦  «        }| j                             |g¦  «        \  }|                      |¦  «        S r0   )r;   r'   rM   rF   )r-   r>   r   rO   s       r   rO   zArrowFSWrapper.infod   sB   € Ø×#Ò# DÑ)Ô)ˆØ”×&Ò&¨ vÑ.Ô.‰ˆØ×Ò Ñ%Ô%Ð%r   c                 ó~   — |                       |¦  «        }	 |                      |¦  «         dS # t          $ r Y dS w xY w)NTF)r;   rO   r   ©r-   r>   s     r   ÚexistszArrowFSWrapper.existsi   sT   € Ø×#Ò# DÑ)Ô)ˆð	Ø�IŠI�d‰OŒOˆOð �4øõ !ð 	ð 	ð 	Ø�5�5ð	øøøs   —. ®
<»<c                 ó  — ddl m} |j        |j        u rd}n]|j        |j        u rd}nL|j        |j        u r<t          t          j        t          j
        t          j        ¦  «        |j        ¦  «        ‚d}|j        |j        ||j        dœS )Nr   )ÚFileTypeÚ	directoryÚfileÚother)rK   ÚsizeÚtypeÚmtime)rL   rX   r]   Ú	DirectoryÚFileÚNotFoundr   r   r   ÚosÚstrerrorr>   r\   r^   )r-   rO   rX   Úkinds       r   rF   zArrowFSWrapper._make_entryr   s›   € Ø'Ð'Ð'Ð'Ð'Ð'àŒ9˜Ô*Ð*Ð*ØˆDˆDØŒY˜(œ-Ð'Ð'ØˆDˆDØŒY˜(Ô+Ð+Ð+Ý#¥E¤Lµ"´+½e¼lÑ2KÔ2KÈTÌYÑWÔWÐWàˆDð ”IØ”IØØ”Zð	
ð 
ð 	
r   c                 ó¢  — |                       |¦  «                             d¦  «        }|                       |¦  «                             d¦  «        }|                      |d¦  «        5 }|› dt          j        d¦  «        › �}	 |                      |d¦  «        5 }t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   | j         	                    ||¦  «         nU# t          $ rH t          t          ¦  «        5  | j                             |¦  «         d d d ¦  «         n# 1 swxY w Y   ‚ w xY w	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr!   Úrbz.tmp.é   Úwb)r;   ÚrstripÚ_openÚsecretsÚ	token_hexÚopenÚshutilÚcopyfileobjr'   ÚmoveÚBaseExceptionr   r   Údelete_file)r-   Úpath1Úpath2r   ÚlstreamÚ	tmp_fnameÚrstreams          r   Úcp_filezArrowFSWrapper.cp_file…   s  € à×$Ò$ UÑ+Ô+×2Ò2°3Ñ7Ô7ˆØ×$Ò$ UÑ+Ô+×2Ò2°3Ñ7Ô7ˆà�ZŠZ˜˜tÑ$Ô$ð 		¨Ø Ð=Ð=¥wÔ'8¸Ñ';Ô';Ð=Ð=ˆIðØ—Y’Y˜y¨$Ñ/Ô/ð 9°7ÝÔ& w°Ñ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9à”—’˜Y¨Ñ.Ô.Ð.Ð.øÝ ð ð ð ÝÕ/Ñ0Ô0ð 3ð 3Ø”G×'Ò'¨	Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3àðøøøð /ð		ð 		ð 		ñ 		ô 		ð 		ð 		ð 		ð 		ð 		ð 		ð 		øøøð 		ð 		ð 		ð 		ð 		ð 		sr   Á'EÂC!ÂB:Â.C!Â:B>	Â>C!ÃB>	ÃC!Ã EÃ!D3Ã?D&ÄD3Ä&D*Ä*D3Ä-D*Ä.D3Ä3EÅEÅEc                 óÜ   — |                       |¦  «                             d¦  «        }|                       |¦  «                             d¦  «        }| j                             ||¦  «         d S )Nr!   )r;   ri   r'   rp   )r-   rs   rt   r   s       r   ÚmvzArrowFSWrapper.mv•   s`   € à×$Ò$ UÑ+Ô+×2Ò2°3Ñ7Ô7ˆØ×$Ò$ UÑ+Ô+×2Ò2°3Ñ7Ô7ˆØŒ�Š�U˜EÑ"Ô"Ð"Ð"Ð"r   c                 ód   — |                       |¦  «        }| j                             |¦  «         d S r0   )r;   r'   rr   rU   s     r   Úrm_filezArrowFSWrapper.rm_file›   s1   € à×#Ò# DÑ)Ô)ˆØŒ×Ò˜DÑ!Ô!Ð!Ð!Ð!r   Nc                 ó  — |                       |¦  «                             d¦  «        }|                      |¦  «        r-|r| j                             |¦  «         d S t          d¦  «        ‚| j                             |¦  «         d S )Nr!   z0Can't delete directories without recursive=False)r;   ri   Úisdirr'   Ú
delete_dirÚ
ValueErrorrr   )r-   r>   Ú	recursiveÚmaxdepths       r   ÚrmzArrowFSWrapper.rm    s‡   € à×#Ò# DÑ)Ô)×0Ò0°Ñ5Ô5ˆØ�:Š:�dÑÔð 	&Øð UØ”×"Ò" 4Ñ(Ô(Ð(Ð(Ð(å Ð!SÑTÔTÐTàŒG×Ò Ñ%Ô%Ð%Ð%Ð%r   rf   Tc                 ój  — |dk    r|r| j         j        }nE| j         j        }n8|dk    r| j         j        }n%|dk    r| j         j        }nt          d|›�¦  «        ‚i }|dk    s|s6t          t                               d¦  «        d         ¦  «        dk    rd |d<    ||fi |¤Ž}t          | ||||fi |¤ŽS )	Nrf   rh   Úabz'unsupported mode for Arrow filesystem: ú.r   é   Úcompression)
r'   Úopen_input_fileÚopen_input_streamÚopen_output_streamÚopen_append_streamr€   Úintr&   ÚsplitÚ	ArrowFile)	r-   r>   ÚmodeÚ
block_sizeÚseekabler   ÚmethodÚ_kwargsÚstreams	            r   rj   zArrowFSWrapper._open«   sã   € à�4Š<ˆ<Øð 3ØœÔ0��àœÔ2��Ø�TŠ\ˆ\Ø”WÔ/ˆFˆFØ�TŠ\ˆ\Ø”WÔ/ˆFˆFåÐOÀtÐOÐOÑPÔPÐPàˆØ�4Š<ˆ<˜xˆ<Ý•?×(Ò(¨Ñ-Ô-¨aÔ0Ñ1Ô1°QÒ6Ð6à)-�˜Ñ&Ø�˜Ð(Ð( Ð(Ð(ˆå˜˜v t¨T°:ÐHÐHÀÐHÐHÐHr   c                 óž   — |                       |¦  «        }|r|                      |d¬¦  «         d S | j                             |d¬¦  «         d S )NT)Úexist_okF©r�   )r;   Úmakedirsr'   Ú
create_dir)r-   r>   Úcreate_parentsr   s       r   ÚmkdirzArrowFSWrapper.mkdirÂ   sZ   € à×#Ò# DÑ)Ô)ˆØð 	6Ø�MŠM˜$¨ˆMÑ.Ô.Ð.Ð.Ð.àŒG×Ò˜t¨uÐÑ5Ô5Ð5Ð5Ð5r   c                 óh   — |                       |¦  «        }| j                             |d¬¦  «         d S )NTr˜   )r;   r'   rš   )r-   r>   r—   s      r   r™   zArrowFSWrapper.makedirsÊ   s6   € à×#Ò# DÑ)Ô)ˆØŒ×Ò˜4¨4ÐÑ0Ô0Ð0Ð0Ð0r   c                 ód   — |                       |¦  «        }| j                             |¦  «         d S r0   )r;   r'   r   rU   s     r   ÚrmdirzArrowFSWrapper.rmdirÏ   s1   € à×#Ò# DÑ)Ô)ˆØŒ×Ò˜4Ñ Ô Ð Ð Ð r   c                 ój   — |                       |¦  «        }| j                             |¦  «        j        S r0   )r;   r'   rM   r^   rU   s     r   ÚmodifiedzArrowFSWrapper.modifiedÔ   s.   € à×#Ò# DÑ)Ô)ˆØŒw×$Ò$ TÑ*Ô*Ô0Ð0r   c                 ól   •— |                      d|dv¦  «          t          ¦   «         j        |||fi |¤ŽS )Nr’   )Nr   )Ú
setdefaultr+   Úcat_file)r-   r>   ÚstartÚendr   r.   s        €r   r¤   zArrowFSWrapper.cat_fileÙ   sA   ø€ Ø×Ò˜* e°9Ð&<Ñ=Ô=Ð=Ø�u‰wŒwÔ  e¨SÐ;Ð;°FÐ;Ð;Ð;r   c                 ój   •— |                      dd¦  «          t          ¦   «         j        ||fi |¤Ž d S )Nr’   F)r£   r+   Úget_file)r-   ÚrpathÚlpathr   r.   s       €r   r¨   zArrowFSWrapper.get_fileÝ   s@   ø€ Ø×Ò˜* eÑ,Ô,Ð,Ø�‰ŒÔ˜ Ð0Ð0¨Ð0Ð0Ð0Ð0Ð0r   )F)FN)rf   NT)T)NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r*   r,   Úpropertyr2   r   r7   r:   Úclassmethodr;   rR   rO   rV   rF   r   rx   rz   r|   rƒ   rj   rœ   r™   rŸ   r¡   r¤   r¨   Ú__classcell__©r.   s   @r   r    r    )   s6  ø€ € € € € ðð ð €Kð#ð #ð #ð #ð #ð ð!ð !ñ „Xð!ð ð>ð >ñ „_ð>ð=ð =ð =ð =ð =ð ðð ñ „[ðð8ð 8ð 8ð 8ð &ð &ð &ð
ð ð ð
ð 
ð 
ð& ðð ñ „_ðð ð#ð #ñ „_ð#ð
 ð"ð "ñ „_ð"ð ð&ð &ð &ñ „_ð&ð ðIð Ið Iñ „_ðIð, ð6ð 6ð 6ñ „_ð6ð ð1ð 1ð 1ñ „_ð1ð ð!ð !ñ „_ð!ð ð1ð 1ñ „_ð1ð<ð <ð <ð <ð <ð <ð1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1r   r    r•   )ÚreadÚseekÚtellÚwriteÚreadableÚwritableÚcloser’   c                   ó8   — e Zd Zdd„Zd„ Zed„ ¦   «         Zd„ ZdS )r�   Nc                 óh   — || _         || _        || _        || _        |x| _        | _        || _        d S r0   )r>   r�   r'   r•   Ú	blocksizer‘   r   )r-   r'   r•   r>   r�   r‘   r   s          r   r,   zArrowFile.__init__ð   s7   € ØˆŒ	ØˆŒ	àˆŒØˆŒà+5Ð5ˆŒ˜œØˆŒˆˆr   c                 ó   — | S r0   r%   r1   s    r   Ú	__enter__zArrowFile.__enter__ú   s   € Øˆr   c                 ój   — | j                              ¦   «         r| j                              ¦   «         S d S r0   )r•   r’   r\   r1   s    r   r\   zArrowFile.sizeý   s1   € àŒ;×ÒÑ!Ô!ð 	&Ø”;×#Ò#Ñ%Ô%Ð%Øˆtr   c                 ó*   — |                       ¦   «         S r0   )r¹   )r-   r   s     r   Ú__exit__zArrowFile.__exit__  s   € Ø�zŠz‰|Œ|Ðr   r0   )r«   r¬   r­   r,   r¾   r¯   r\   rÁ   r%   r   r   r�   r�   â   sa   € € € € € ðð ð ð ðð ð ð ðð ñ „Xðð
ð ð ð ð r   r�   c                   óJ   ‡ — e Zd ZdZdZ	 	 	 	 	 	 d	ˆ fd„	Zed„ ¦   «         Zˆ xZS )
ÚHadoopFileSystemz]A wrapper on top of the pyarrow.fs.HadoopFileSystem
    to connect it's interface with fsspecÚhdfsÚdefaultr   Né   c                 ól   •— ddl m}  |||||||¬¦  «        }	 t          ¦   «         j        dd|	i|¤Ž dS )a;  

        Parameters
        ----------
        host: str
            Hostname, IP or "default" to try to read from Hadoop config
        port: int
            Port to connect on, or default from Hadoop config if 0
        user: str or None
            If given, connect as this username
        kerb_ticket: str or None
            If given, use this ticket for authentication
        replication: int
            set replication factor of file for write operations. default value is 3.
        extra_conf: None or dict
            Passed on to HadoopFileSystem
        r   )rÃ   )r5   r6   ÚuserÚkerb_ticketÚreplicationÚ
extra_confr'   Nr%   )rL   rÃ   r+   r,   )r-   r5   r6   rÈ   rÉ   rÊ   rË   r   rÃ   r'   r.   s             €r   r,   zHadoopFileSystem.__init__  sj   ø€ ð6 	0Ð/Ð/Ð/Ð/Ð/àÐØØØØ#Ø#Ø!ð
ñ 
ô 
ˆð 	�‰ŒÔÐ)Ð)˜BÐ) &Ð)Ð)Ð)Ð)Ð)r   c                 ó¬  — t          | ¦  «        }i }|                     dd ¦  «        r|d         |d<   |                     dd ¦  «        r|d         |d<   |                     dd ¦  «        r|d         |d<   |                     dd ¦  «        rIt          |d         ¦  «        }|                     dd ¦  «        rt          |d         d         ¦  «        |d<   |S )Nr5   ÚusernamerÈ   r6   Ú	url_queryrÊ   r   )r	   Úgetr   r�   )r>   rB   ÚoutÚqueriess       r   Ú_get_kwargs_from_urlsz&HadoopFileSystem._get_kwargs_from_urls4  sÞ   € å# DÑ)Ô)ˆØˆØ�7Š7�6˜4Ñ Ô ð 	&Ø˜fœ+ˆC�‰KØ�7Š7�:˜tÑ$Ô$ð 	*Ø˜jœ/ˆC�‰KØ�7Š7�6˜4Ñ Ô ð 	&Ø˜fœ+ˆC�‰KØ�7Š7�; Ñ%Ô%ð 	DÝ˜s ;Ô/Ñ0Ô0ˆGØ�{Š{˜=¨$Ñ/Ô/ð DÝ%(¨°Ô)?ÀÔ)BÑ%CÔ%C��MÑ"Øˆ
r   )rÅ   r   NNrÆ   N)	r«   r¬   r­   r®   r2   r,   ÚstaticmethodrÒ   r±   r²   s   @r   rÃ   rÃ     s~   ø€ € € € € ð-ð -ð €Hð ØØØØØð%*ð %*ð %*ð %*ð %*ð %*ðN ðð ñ „\ðð ð ð ð r   rÃ   )r   Úiorb   rk   rn   Ú
contextlibr   Ú	functoolsr   r   Úurllib.parser   Úfsspec.specr   Úfsspec.utilsr   r	   r
   r   r   r&   r)   r    ÚIOBaser�   rÃ   r%   r   r   ú<module>rÛ      s�  ðØ €€€Ø 	€	€	€	Ø 	€	€	€	Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø !Ð !Ð !Ð !Ð !Ð !à *Ð *Ð *Ð *Ð *Ð *ðð ð ð ð ð ð ð ð ð ð ð ðð ð ð$ €Ø"'¨ Ð ðv1ð v1ð v1ð v1ð v1Ð'ñ v1ô v1ð v1ðr €Øð	ð 	ð 	ñô ðð ð ð ð �”	ñ ô ñô ðð0;ð ;ð ;ð ;ð ;�~ñ ;ô ;ð ;ð ;ð ;r   