Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
ftp.cpython-313.pyc137 linesDownload Raw Back to __pycache__
1�

2�j�3��6�SSKrSSKrSSKrSSKJrJrJrJr SSKJ	r	 SSK3JrJr SSK
JrJr \R \R"\R$\R&\R(S.r"SS	\5r"S4S\5r"SS
\5r"SS\5rSSjrg)�N)�FTP�FTP_TLS�Error�5error_perm)�Any�)�AbstractBufferedFile�AbstractFileSystem)�infer_storage_options�6isfilelike)�tls�tlsv1�tlsv1_1�tlsv1_2�sslv23c�`^�\rSrSrSrU4Sjr\S5r\RS5rSr	U=r7$)�ImplicitFTPTLS�zT8FTP_TLS subclass that automatically wraps sockets in SSL9to support implicit FTPS.10c�4>�[TU]"U0UD6 SUlg�N)�super�__init__�_sock)�self�args�kwargs�	__class__s   ��`D:\code\apps\devtools\python\user_packages\Python313\site-packages\fsspec/implementations/ftp.pyr�ImplicitFTPTLS.__init__s���
���$�)�&�)���11�c��UR$)zReturn the socket.�r�rs r�sock�ImplicitFTPTLS.socks���z�z�r c��Ub:[U[R5(dURR	U5nXlg)z9When modifying the socket, ensure that it is ssl wrapped.N)�12isinstance�ssl�	SSLSocket�context�wrap_socketr)r�values  rr$r%"s3����Z��s�}�}�%E�%E��L�L�,�,�U�3�E��13r r")�__name__�14__module__�__qualname__�__firstlineno__�__doc__r�propertyr$�setter�__static_attributes__�
__classcell__�rs@rrrs9����15�����16�[�[���r rc	�^�\rSrSrSrSrSrSrSU4SjjrSr	\17S	5r\S185r
SSjrSrS
rS U4SjjrS!SjrSrS"SjrSS\S\S\SS4SjjrS#S\S\SS4SjjrSrSrSrS$U4SjjrSrU=r$)%�
FTPFileSystem�*zA filesystem over classic FTP�/F�ftpNc�>�[TU]"S0UD6 XlX lU=(d SUlU=(d SU=(d SU=(d S4UlX�lX�lUbX`lOSUlX�l	UR5 [UR[5(a-UR(aURR5 ggg)a#19You can use _get_kwargs_from_urls to get some kwargs from20a reasonable FTP url.21 22Authentication will be anonymous if username/password are not23given.24 25Parameters26----------27host: str28    The remote server name/ip to connect to29port: int30    Port to connect with31username: str or None32    If authenticating, the user's identifier33password: str of None34    User's password on the server, if using35acct: str or None36    Some servers also need an "account" string for auth37block_size: int or None38    If given, the read-ahead or write buffer size.39tempdir: str40    Directory on remote to put temporary files when in a transaction41timeout: int42    Timeout of the ftp connection in seconds43encoding: str44    Encoding to use for directories and filenames in FTP connection45tls: bool or str46    Enable FTP-TLS for secure connections:47        - False: Plain FTP (default)48        - True: Explicit TLS (FTPS with AUTH TLS command)49        - "tls": Auto-negotiate highest protocol50        - "tlsv1": TLS v1.051        - "tlsv1_1": TLS v1.152        - "tlsv1_2": TLS v1.253z/tmp�Ni�)rr�host�port�tempdir�cred�timeout�encoding�	blocksizer
�_connectr'�boolr;�prot_p)
rr?r@�username�password�acct�54block_sizerArCrDr
rrs
            �rr�FTPFileSystem.__init__1s����d	���"�6�"��	��	��(�&����N��H�N��D�J�B�>��	��� �
��!�'�N�"�D�N����
�
���d�h�h��%�%�$�(�(��H�H�O�O��+3�%r c�@�SnUR(a{[UR[5(aU[n[RURSURS35n[U[5(a[
U5eO
[nO[nU"URURS9UlU(aXRlURRURUR5 URR "UR"6 g)NzNot supported z	 protocol)rCrD)r
r'�strr�SECURITY_PROTOCOL_MAP�get�55ValueErrorrrrCrDr;�ssl_version�connectr?r@�loginrB)r�security�ftp_clss   rrF�FTPFileSystem._connectss������8�8��$�(�(�C�(�(�(��0�4�4��H�H�$�T�X�X�J�i�8����h��,�,�$�X�.�.�-�"���G��4�<�<�$�-�-�H����#+�H�H� ���������D�I�I�.�������	�	�"r c�`�S[U5SRS5RS5-$)Nr:�path)r�lstrip�rstrip)�clsrZs  r�_strip_protocol�FTPFileSystem._strip_protocol�s.���*�4�0��8�?�?��D�K�K�C�P�P�Pr c�d�[U5nURSS5 URSS5 U$)NrZ�protocol)r�pop)�urlpath�outs  r�_get_kwargs_from_urls�#FTPFileSystem._get_kwargs_from_urls�s-��#�G�,�����������56�D�!��57r c��URU5n/nXR;a�URRU5VVs/sHupVUS;dM
USS;dMXV4PM nnnUHbupVSR
US:XaSOUURS5/5US'USS:Xa[US5US'OS	US'USS58:XdM]SUS'Md X@RU'URRX5n	U(d [U	VVs/sHupVUPM	 snn5$U	VVs/sHupVUPM	 snn$s snnf![a [URU5nN�f=f![aF URU5nUSS:XaX4/nN�![[4an[U5UeSnAff=ff=fs snnfs snnf)N)�.z..�type)�pdir�cdirr:r=�name�file�sizer�dir�	directory)r^�dircacher;�mlsdr�_mlsd2�joinr[�intr�info�59IndexError�FileNotFoundErrorrQ�sorted)60rrZ�detailrrd�fn�detailsrv�exc�filess61          r�ls�FTPFileSystem.ls�s����#�#�D�)�����}�}�$�
;�1�.2�X�X�]�]�4�-@��-@�M�R��[�0�&�$�F�O�3C�C�&��
�-@���$'�K�B�&)�h�h�#�s�{���b�i�i��n�E�'�G�F�O��v��&�0�*-�g�f�o�*>����*+�����v��%�/�*5����$'�'*�
�
�d�#��
�
�!�!�$�,�����7��+�"�2��7�8�8�+0�1�5�K�B��5�1�1��;��"�1� ����4�0�C�1���
;�;��9�9�T�?�D��F�|�v�-� $�|�n����z�*�;�+�D�1�s�:��;��
;��8��1sx�D=�D7�D7�D7�%D=�(AE#�E#�62F663�%F<�7D=�= E �E#�E � E#�#64F3�.F�F/�F*�*F/�/F3c�65^�URT5mTS:XaSSSS.$URURT5RS5S5n[	U4SjU55nU$![66an[
T5UeSnAff=f)Nr:rrp)rlrnriTc3�<># �UHoST:XdM
Uv� M g7f)rlNr>)�.0�frZs  �r�	<genexpr>�%FTPFileSystem.info.<locals>.<genexpr>�s����=�%�Q�V�9��+<�q�q�%�s��	)r^r�_parentr[�next�
StopIterationrx)rrZrr~rdr}s `    rrv�FTPFileSystem.info�s�����#�#�D�)���3�;���K�@�@�������T�*�1�1�#�6��=��	3��=�%�=�=�C��67���	3�#�D�)�s�2��	3�s�A'�'68B�1A=�=Bc�^�URU5(a;[RRU5(d[R"U5 g[U5(aUmO[
US5mU4SjnURRSU3URUS9 [U5(dTR5 gg)N�wbc�(>�TRU5 gr)�write)�x�outfiles �r�cb�"FTPFileSystem.get_file.<locals>.cb�s����M�M�!�r �RETR )rE�callback)�isdir�osrZ�exists�mkdirr�openr;�69retrbinaryrE�close)r�rpath�lpathrr�r�s     @r�get_file�FTPFileSystem.get_file�s�����:�:�e����7�7�>�>�%�(�(��������e����G��5�$�'�G�	�	
������E�7�O��n�n��	�	70�71�%� � ��M�M�O�!r c��>^�Ub[TU]"XU40UD6$/mU4SjnURRSU3URUUS9 SRT5$![72[4an[U5UeSnAff=f)Nc�(>�TRU5 gr)�append)r�rds �rr��"FTPFileSystem.cat_file.<locals>.cb�s����J�J�q�Mr r��rE�restr�r )	r�cat_filer;r�rErrrxrt)	rrZ�start�endrr��orig_excrdrs	       @�rr��FTPFileSystem.cat_file�s�����?��7�#�D��?��?�?���	�	8��H�H�����v���.�.���	
 �
��x�x��}����z�"�	8�#�D�)�x�7��	8�s�)A�A<�+A7�7A<c73��URU5nU=(d URn[UUUUURUUS9$)N)�moderLrA�74autocommit�
cache_options)r^rE�FTPFilerA)rrZr�rLr�r�rs       r�_open�FTPFileSystem._open�sH���#�#�D�)���1�4�>�>�75�����!��L�L�!�'�76�	77r c��URU5nURRU5 URUR	U55 gr)r^r;�delete�invalidate_cacher��rrZs  r�_rm�FTPFileSystem._rms9���#�#�D�)������������d�l�l�4�0�1r c��URXUS9n[U5H=nURU5(aURU5 M,UR	U5 M? g)N)�	recursive�maxdepth)�expand_path�reversed�isfile�rm_file�rmdir)rrZr�r��paths�ps      r�rm�FTPFileSystem.rmsH��� � ��X� �N���%��A��{�{�1�~�~����Q���78�79�1�
�	!r rZ�create_parentsr�returnc�4�URU5nURU5nX@R:wa,URU5(dU(aUR	XBS9 UR80R
U5 URURU55 g)N�r�)r^r��root_markerr�r�r;�mkdr�)rrZr�r�parents     rr��FTPFileSystem.mkdirsq���#�#�D�)�����d�#���%�%�%�d�k�k�&�.A�.A�n��J�J�v�J�=������T�����d�l�l�4�0�1r �exist_okc��URU5nURU5(aU(d[US35egURUSS9 g)Nz exists without `exist_ok`Tr�)r^r��FileExistsErrorr�)rrZr�s   r�makedirs�FTPFileSystem.makedirssN���#�#�D�)���;�;�t����%���.H�&I�J�J��
�J�J�t�D�J�1r c��URU5nURRU5 URUR	U55 gr)r^r;�rmdr�r�r�s  rr��FTPFileSystem.rmdir"s9���#�#�D�)�������T�����d�l�l�4�0�1r c���URU5nURU5nURRX5 URUR	U55 URUR	U55 gr)r^r;�renamer�r�)r�path1�path2rs    r�mv�FTPFileSystem.mv's`���$�$�U�+���$�$�U�+��������%����d�l�l�5�1�2����d�l�l�5�1�2r c�8�URR5 gr)r;r�r#s r�__del__�FTPFileSystem.__del__.s�������r c�>�UcURR5 OURRUS5 [TU]U5 gr)rq�clearrbrr�)rrZrs  �rr��FTPFileSystem.invalidate_cache1s9����<��M�M���!��M�M���d�D�)�
�� ��&r )	rErBrDr;r?r@rArCr
)	�NNNNN�zutf-8F)T)NN)�rbNNT)FN�Fr) r-r.r/r0r1r��cachablerarrF�classmethodr^�staticmethodrerrvr�r�r�r�r�rOrGrr�r�r�r�r�r�r4r5r6s@rr8r8*s����'��K��H��H�81���
������@�D#�*�Q��Q�����#2�J��*�,����
82�*2�83�2�#�2�t�2�c�2�d�2�2�S�2�D�2�T�2�2�843��'�'r r8c��\rSrSrSrSrg)�TransferDonei9z+Internal exception to break out of transferr>N)r-r.r/r0r1r4r>r rr�r�9s��5�r r�c�V^�\rSrSrSrS	U4SjjrSrSrSrS85Sjr	Sr86U=r$)r�i?z9Interact with a remote FTP file with read/write bufferingc	��>�[T	U]"UU4UUUUUS.UD6 U(dIURUlSR	US[[R"55/5Ulgg)N)r�rLr��87cache_typer�r:rA)rrrZ�targetrtrO�uuid�uuid4)88r�fsrZr�rLr�r�r�rrs89         �rr�FTPFile.__init__Bsr���	�����		90��!�!�!�'�		91��		92���)�)�D�K����&��"3�S�����5F�!G�H�D�I�r c�d�URRURUR5 gr)r�r�rZr�r#s r�commit�FTPFile.commit[s�����93�94�4�9�9�d�k�k�*r c�N�URRUR5 gr)r�r�rZr#s r�discard�FTPFile.discard^s�����95�96�4�9�9�r c��^^^^^�/mS/mUUUUU4SjnTRRRSTR3TRTUS9 SRT5$![97aw TRRR
5 TRRR5 Nf![a TRR5 N�f=ff=f)z�Get bytes between given byte limits98 99Implemented by raising an exception in the fetch callback when the100number of bytes received reaches the requested amount.101 102Will fail if the server does not respect the REST command on103retrieve requests.104rc�>�TS==[U5-
ss'TSTT-105:�a4TRUSTT-106TS-1075 TTR:a[eOTRU5 TSTT-108:XaTTR:a[egg)Nr)�lenr�rnr�)r�r�rdrr��totals �����rr��&FTPFile._fetch_range.<locals>.callbackms�����!�H��A���H��Q�x�#��+�%��109�110�1�7��e��u�Q�x�7�8�9�����?�&�&�#��111�112�1�
��Q�x�3��;�&�3����?�"�"�,;�&r r�r�r )r�r;r�rZrEr��abort�getmultilinerrFrt)rr�r�r�rdr�s``` @@r�_fetch_range�FTPFile._fetch_rangeas���������113	#�114	#�
	#��G�G�K�K�"�"���	�	�{�#��.�.��!�	
#�
��x�x��}����	#�
#������!�!�#������(�(�*���
#���� � �"�
#��	#�s*�=A$�$115C%�/AB9�9$C!�C%� C!�!C%c���URRS5 URRR	SUR1163URURURS9 g)NrzSTOR )rEr�T)�buffer�seekr�r;�117storbinaryrZrE�offset)r�finals  r�
_upload_chunk�FTPFile._upload_chunk�sT�����������������D�I�I�;��������T�[�[�	�	118�r )rZr�)r��defaultT�	readaheadNr�)r-r.r/r0r1rr�r�r�rr4r5r6s@rr�r�?s7���C������I�2+��'�R�r r�c�P�/n/nURXR5 UH�nUR5n[U5S:aM$USSR	USS5USUSUSUS	S119.4nUSSSS
:Xa	SUSS'OSUSS'URU5 M� U$)a120Fall back to using `dir` instead of `mlsd` if not supported.121 122This parses a Linux style `ls -l` response to `dir`, but the response may123be platform dependent.124 125Parameters126----------127ftp: ftplib.FTP128path: str129    Expects to be given path, but defaults to ".".130�	������ ��r�r�)�modifyz131unix.ownerz132unix.group�	unix.modern�r�drorirm)ror��splitr�rt)r;rZ�lines�minfo�line�133split_line�thiss       rrsrs�s���
�E��E��G�G�D�,�,�����Z�Z�\�134��z�?�Q����r�N��(�(�:�a��?�3�(��m�(��m�'��]�"�1�
�
�	135����7�;���"�c�)�#�D��G�F�O�$�D��G�F�O�
���T��%�&�Lr )rh)r�r(r��ftplibrrrr�typingr�specr	r136�utilsrr�PROTOCOL_TLS�PROTOCOL_TLSv1�PROTOCOL_TLSv1_1�PROTOCOL_TLSv1_2�PROTOCOL_SSLv23rPrr8�	Exceptionr�r�rsr>r r�<module>r&s���	�137��2�2��;�5����
�
�
��#�#��#�#��!�!����W��.L'�&�L'�^	�9�	�P�"�P�f#r 
codekingpro/portable-devtools · Team Ai