Edit File: ftplib.cpython-38.opt-2.pyc
U ����@��d9�����������������������@���sR��d�dl�Z�d�dlZd�dlmZ�ddddddgZd Zd ZdZG�dd ��d e�ZG�dd��de�Z G�dd��de�Z G�dd��de�ZG�dd��de�Zee efZdZdZG�dd��d�Zzd�dlZW�n�ek r����dZY�n0X�ejZG�dd��de�Ze�d��ee eejfZdadd��Zdadd��Zdd��Zdd��Zdd ��Z d(d#d$�Z!d%d&��Z"e#d'k�rNe"���dS�))�����N)�_GLOBAL_DEFAULT_TIMEOUT�FTP�error_reply� error_temp� error_perm�error_proto� all_errors���������� ��c�������������������@���s���e�Zd�ZdS�)�ErrorN��__name__� __module__�__qualname__��r���r����+/opt/alt/python38/lib64/python3.8/ftplib.pyr���9���s����r���c�������������������@���s���e�Zd�ZdS�)r���Nr ���r���r���r���r���r���:���s����c�������������������@���s���e�Zd�ZdS�)r���Nr ���r���r���r���r���r���;���s����c�������������������@���s���e�Zd�ZdS�)r���Nr ���r���r���r���r���r���<���s����c�������������������@���s���e�Zd�ZdS�)r���Nr ���r���r���r���r���r���=���s����� s��� c�������������������@���s���e�Zd�ZdZdZeZeZdZ dZ dZdZdZ dZddddedfdd�Zd d ��Zdd��Zd[dd�Zdd��Zdd��ZeZdd��Zdd��Zdd��Zdd��Zdd��Zdd��Zd d!��Zd"d#��Zd$d%��Zd&d'��Z d(d)��Z!d*d+��Z"d,d-��Z#d.d/��Z$d0d1��Z%d\d2d3�Z&d]d4d5�Z'd^d6d7�Z(d_d9d:�Z)d`d;d<�Z*dad=d>�Z+dbd?d@�Z,dAdB��Z-dCdD��Z.dEdF��Z/dg�fdGdH�Z0dIdJ��Z1dKdL��Z2dMdN��Z3dOdP��Z4dQdR��Z5dSdT��Z6dUdV��Z7dWdX��Z8dYdZ��Z9dS�)cr���r�����Nr ���zlatin-1Fc�����������������C���s0���||�_�||�_|r,|��|��|r,|��|||��d�S��N)�source_address�timeout�connect�login)�self�host�user�passwd�acctr���r���r���r���r����__init__r���s���� zFTP.__init__c�����������������C���s���|�S�r���r����r���r���r���r���� __enter__{���s����z FTP.__enter__c�������������� ���G���sN���|�j�d�k rJz*z|�����W�n�ttfk r0���Y�nX�W�5�|�j�d�k rH|�����X�d�S�r���)�sock�close�quit�OSError�EOFError)r����argsr���r���r����__exit__���s���� zFTP.__exit__����c�����������������C���s����|dkr||�_�|dkr||�_|dkr*||�_|d�k r8||�_t�d|�|�j�|�j��tj|�j�|�jf|�j|�jd�|�_|�jj |�_ |�jjd|�jd�|�_ |����|�_|�jS�)Nr���r���r)���zftplib.connect�r����r��encoding)r����portr���r����sys�audit�socket�create_connectionr"����family�af�makefiler-����file�getresp�welcome)r���r���r.���r���r���r���r���r���r�������s ����� zFTP.connectc�����������������C���s���|�j�rtd|��|�j���|�jS�)Nz *welcome*)� debugging�print�sanitizer8���r ���r���r���r���� getwelcome����s����zFTP.getwelcomec�����������������C���s ���||�_�d�S�r���)r9���)r����levelr���r���r����set_debuglevel����s����zFTP.set_debuglevelc�����������������C���s ���||�_�d�S�r���)� passiveserver)r����valr���r���r����set_pasv����s����zFTP.set_pasvc�����������������C���sJ���|d�d��dkrBt�|�d��}|d�d��d|d���||d����}t|�S�)N����>����pass �PASS r����*)�len�rstrip�repr)r����s�ir���r���r���r;�������s����$zFTP.sanitizec�����������������C���s`���d|ksd|krt�d��t�d|�|��|t�}|�jdkrHtd|��|���|�j�|� |�j ���d�S�)N� � z4an illegal newline character should not be containedzftplib.sendcmdr ���z*put*)� ValueErrorr/���r0����CRLFr9���r:���r;���r"����sendall�encoder-����r����liner���r���r����putline����s���� zFTP.putlinec�����������������C���s$���|�j�rtd|��|���|��|��d�S�)Nz*cmd*)r9���r:���r;���rS���rQ���r���r���r����putcmd����s�����z FTP.putcmdc�����������������C���s����|�j��|�jd��}t|�|�jkr.td|�j���|�jdkrHtd|��|���|sPt�|dd���t krn|d�d��}n|dd���t kr�|d�d��}|S�)Nr ����got more than %d bytesz*get*������) r6����readline�maxlinerF���r���r9���r:���r;���r&���rN���rQ���r���r���r����getline����s���� zFTP.getlinec�����������������C���s`���|�����}|dd��dkr\|d�d��}|�����}|d|��}|d�d��|kr$|dd��dkr$q\q$|S�)N���������-rL���)rZ���)r���rR����codeZnextliner���r���r����getmultiline����s�����zFTP.getmultilinec�����������������C���sp���|�����}|�jrtd|��|���|d�d��|�_|d�d��}|dkrD|S�|dkrTt|��|dkrdt|��t|��d�S�)Nz*resp*r[���r ���>����2�1�3�4�5)r_���r9���r:���r;���Zlastrespr���r���r���)r����resp�cr���r���r���r7�������s����zFTP.getrespc�����������������C���s$���|�����}|d�d��dkr t|��|S�)Nr ���r`���)r7���r����r���re���r���r���r����voidresp����s����zFTP.voidrespc�����������������C���sT���dt��}|�jdkr"td|��|���|�j�|t��|����}|d�d��dkrPt|��|S�)N����ABORr ���z*put urgent*r[��������426�226�225) �B_CRLFr9���r:���r;���r"���rO����MSG_OOBr_���r����r���rR���re���r���r���r����abort��s���� z FTP.abortc�����������������C���s���|���|��|����S�r���)rT���r7����r����cmdr���r���r����sendcmd��s���� zFTP.sendcmdc�����������������C���s���|���|��|����S�r���)rT���rh���rr���r���r���r����voidcmd��s���� zFTP.voidcmdc�����������������C���sB���|��d�}t|d��t|d��g}||�}dd�|��}|��|�S�)N�.����zPORT �,)�splitrH����joinru���)r���r���r.���ZhbytesZpbytes�bytesrs���r���r���r����sendport��s ���� zFTP.sendportc�����������������C���sb���d}|�j�tjkrd}|�j�tjkr$d}|dkr4td��dt|�|t|�dg}dd�|��}|��|�S�)Nr���r �������zunsupported address familyr���zEPRT �|)r4���r1����AF_INETZAF_INET6r���rH���rz���ru���)r���r���r.���r4���Zfieldsrs���r���r���r����sendeprt&��s����zFTP.sendeprtc�����������������C���sl���t�jd|�jdd�}|���d�}|�j���d�}|�jt�jkrF|��||�}n|��||�}|�jt k rh|� |�j��|S�)N)r���r���r ���)r3���Zbacklogr���)r1���Z create_serverr4���Zgetsocknamer"���r���r|���r����r���r���� settimeout)r���r"���r.���r���re���r���r���r����makeport3��s���� zFTP.makeportc�����������������C���s\���|�j�tjkr:t|��d��\}}|�jr*|}qT|�j���d�}nt|��d�|�j����\}}||fS�)N�PASVr���ZEPSV) r4���r1���r����parse227rt����trust_server_pasv_ipv4_addressr"���Zgetpeername�parse229)r���Zuntrusted_hostr.���r���r���r���r����makepasv@��s����zFTP.makepasvc����������� ��� ���C���s6��d�}|�j�r�|����\}}tj||f|�j|�jd�}zL|d�k rF|��d|���|��|�}|d�dkrd|����}|d�dkrxt|��W�n���|� �����Y�nX�n�|�� ���r}|d�k r�|��d|���|��|�}|d�dkr�|����}|d�dkr�t|��|���\}} |�jtk �r |� |�j��W�5�Q�R�X�|d�d��dk�r.t|�}||fS�)Nr*���zREST %sr���r`���ra���r[����150)r?���r����r1���r2���r���r���rt���r7���r���r#���r����Zacceptr���r�����parse150) r���rs����rest�sizer���r.����connre���r"���Zsockaddrr���r���r����ntransfercmdL��s>����� zFTP.ntransfercmdc�����������������C���s���|���||�d�S�)Nr���)r����)r���rs���r����r���r���r����transfercmd���s����zFTP.transfercmdc�����������������C���s����|sd}|sd}|sd}|dkr0|dkr0|d�}|���d|��}|d�dkrX|���d|��}|d�dkrr|���d |��}|d�d kr�t|��|S�)NZ anonymousr���>���r���r]���z anonymous@zUSER r���rb���rD����ACCT r`����rt���r���)r���r���r���r���re���r���r���r���r������s ����z FTP.loginr���c�������������� ���C���s^���|���d��|��||��:}|�|�}|s(q2||��qtd�k rLt|t�rL|����W�5�Q�R�X�|����S��NzTYPE I)ru���r����Zrecv� _SSLSocket� isinstance�unwraprh���)r���rs����callback� blocksizer����r�����datar���r���r���� retrbinary���s���� zFTP.retrbinaryc�������������� ���C���s����|d�krt�}|��d�}|��|���}|jd|�jd���}|�|�jd��}t|�|�jkr`td|�j���|�j dkrxt dt|���|s~q�|dd���tkr�|d�d��}n|d d���d kr�|d�d ��}||��q4t d�k r�t|t �r�|����W�5�Q�R�X�W�5�Q�R�X�|����S�)N�TYPE Ar+���r,���r ���rU���r}���z*retr*rV���rW���rL���)� print_linert���r����r5���r-���rX���rY���rF���r���r9���r:���rH���rN���r����r����r����rh���)r���rs���r����re���r�����fprR���r���r���r���� retrlines���s,���� � z FTP.retrlinesc�������������� ���C���sl���|���d��|��||��H}|�|�}|s(q@|�|��|r||��qtd�k rZt|t�rZ|����W�5�Q�R�X�|����S�r����)ru���r�����readrO���r����r����r����rh���)r���rs���r����r����r����r����r�����bufr���r���r���� storbinary���s���� zFTP.storbinaryc�������������� ���C���s����|���d��|��|���}|�|�jd��}t|�|�jkrBtd|�j���|sHq�|dd���tkrx|d�tkrp|d�d��}|t�}|�|��|r||��qtd�k r�t |t�r�|� ���W�5�Q�R�X�|����S�)Nr����r ���rU���rV���rW���)ru���r����rX���rY���rF���r���rn���rO���r����r����r����rh���)r���rs���r����r����r����r����r���r���r���� storlines���s"���� � z FTP.storlinesc�����������������C���s���d|�}|���|�S�)Nr�����ru���)r���Zpasswordrs���r���r���r���r�����s����zFTP.acctc�����������������G���s0���d}|D�]}|d|��}qg�}|���||j��|S�)NZNLST� )r�����append)r���r'���rs����arg�filesr���r���r����nlst��s����zFTP.nlstc�����������������G���sh���d}d�}|dd���r>t�|d��t�d�kr>|d�d��|d��}}|D�]}|rB|d|��}qB|��||��d�S�)NZLISTrW���r���r����)�typer����)r���r'���rs����funcr����r���r���r����dir(��s���� zFTP.dirc����������� ������c���s����|r|���dd�|��d���|r*d|�}nd}g�}|��||j��|D�]\}|�t��d�\}}}i�} |d�d���d�D�] } | �d�\}}}|| |���<�qt|| fV��qDd�S�)Nz OPTS MLST �;zMLSD %sZMLSDr����rW����=) rt���rz���r����r����rG���rN���� partitionry����lower) r����pathZfactsrs����linesrR���Zfacts_found�_�name�entryZfact�key�valuer���r���r����mlsd7��s���� zFTP.mlsdc�����������������C���s0���|���d|��}|d�dkr"t|��|��d|��S�)NzRNFR r���rb���zRNTO )rt���r���ru���)r���ZfromnameZtonamere���r���r���r����renameS��s����z FTP.renamec�����������������C���s.���|���d|��}|d�d��dkr"|S�t|��d�S�)NzDELE r[���>����200�250r����)r����filenamere���r���r���r����deleteZ��s����z FTP.deletec�������������� ���C���sp���|dkrRz|���d�W�S��tk rN�}�z|jd�d�d��dkr>��W�5�d�}~X�Y�q^X�n|dkr^d}d|�}|���|�S�) Nz..ZCDUPr���r[����500r���rv���zCWD )ru���r���r'���)r����dirname�msgrs���r���r���r����cwdb��s����zFTP.cwdc�����������������C���s:���|���d|��}|d�d��dkr6|dd������}t|�S�d�S�)NzSIZE r[���Z213)rt����strip�int)r���r����re���rI���r���r���r���r����o��s����zFTP.sizec�����������������C���s$���|���d|��}|�d�sdS�t|�S�)NzMKD �257r����ru���� startswith�parse257)r���r����re���r���r���r����mkdw��s���� zFTP.mkdc�����������������C���s���|���d|��S�)NzRMD r����)r���r����r���r���r����rmd���s����zFTP.rmdc�����������������C���s ���|���d�}|�d�sdS�t|�S�)NZPWDr����r���r����rg���r���r���r����pwd���s���� zFTP.pwdc�����������������C���s���|���d�}|�����|S�)NZQUIT)ru���r#���rg���r���r���r���r$������s���� zFTP.quitc�����������������C���sD���z |�j}d�|�_|d�k r|����W�5�|�j�}d�|�_�|d�k r>|����X�d�S�r���)r"���r#���r6���)r���r"���r6���r���r���r���r#������s����z FTP.close)r���r���r)���N)N)N)r���r���r���)r���N)N)r���NN)N):r���r���r���r9���r����FTP_PORTr.����MAXLINErY���r"���r6���r8���r?���r-���r����r���r���r!���r(���r���r<���r>����debugrA���r;���rS���rT���rZ���r_���r7���rh���rq���rt���ru���r|���r����r����r����r����r����r���r����r����r����r����r���r����r����r����r����r����r����r����r����r����r����r$���r#���r���r���r���r���r���J���sn����� 7 # c���������������� ���@���sj���e�Zd�ZejZdddddddedf dd�Zddd�Zdd ��Z d d��Z dd ��Zdd��Zddd�Z dd��ZdS�)�FTP_TLSr���Nc �������������� ���C���s����|d�k r|d�k rt�d��|d�k r0|d�k r0t�d��|d�k s@|d�k rVdd�l} | �dtd��||�_||�_|d�kr|tj|�j||d�}||�_ d|�_ t�|�|||||| ��d�S�)Nz4context and keyfile arguments are mutually exclusivez5context and certfile arguments are mutually exclusiver���zAkeyfile and certfile are deprecated, use a custom context insteadr}���)�certfile�keyfileF) rM����warnings�warn�DeprecationWarningr����r�����sslZ_create_stdlib_context�ssl_version�context�_prot_pr���r���)r���r���r���r���r���r����r����r����r���r���r����r���r���r���r������s(�������zFTP_TLS.__init__Tc�����������������C���s*���|rt�|�jtj�s|�����t�|�|||�S�r���)r����r"���r����� SSLSocket�authr���r���)r���r���r���r���Zsecurer���r���r���r������s����z FTP_TLS.loginc�����������������C���sf���t�|�jtj�rtd��|�jtjkr.|��d�}n |��d�}|�jj |�j|�j d�|�_|�jjd|�jd�|�_ |S�)NzAlready using TLSzAUTH TLSzAUTH SSL�Zserver_hostnamer+���)�moder-���)r����r"���r����r����rM���r����ZPROTOCOL_TLSru���r�����wrap_socketr���r5���r-���r6���rg���r���r���r���r�������s���� �zFTP_TLS.authc�����������������C���s0���t�|�jtj�std��|��d�}|�j���|�_|S�)Nz not using TLSZCCC)r����r"���r����r����rM���ru���r����rg���r���r���r����ccc���s ���� zFTP_TLS.cccc�����������������C���s���|���d��|���d�}d|�_|S�)NzPBSZ 0zPROT PT�ru���r����rg���r���r���r����prot_p���s���� zFTP_TLS.prot_pc�����������������C���s���|���d�}d|�_|S�)NzPROT CFr����rg���r���r���r����prot_c��s���� zFTP_TLS.prot_cc�����������������C���s2���t��|�||�\}}|�jr*|�jj||�jd�}||fS�)Nr����)r���r����r����r����r����r���)r���rs���r����r����r����r���r���r���r������s�����zFTP_TLS.ntransfercmdc�����������������C���s8���dt��}|�j�|��|����}|d�d��dkr4t|��|S�)Nri���r[���rj���)rn���r"���rO���r_���r���rp���r���r���r���rq�����s����z FTP_TLS.abort)r���r���r���T)N)r���r���r���r����ZPROTOCOL_TLS_CLIENTr����r���r���r���r����r����r����r����r����rq���r���r���r���r���r�������s���! ��� r����c�����������������C���s\���|�d�d��dkrt�|���td�kr<dd�l}|�d|j|jB��at�|��}|sNd�S�t|�d��S�)Nr[���r����r���z150 .* \((\d+) bytes\)r ���) r����_150_re�re�compile� IGNORECASE�ASCII�matchr�����group)re���r�����mr���r���r���r����)��s����� � r����c�����������������C���s����|�d�d��dkrt�|���td�kr6dd�l}|�d|j�at�|��}|sLt|���|���}d�|d�d���}t |d��d>�t |d���}||fS�) Nr[���Z227r���z#(\d+),(\d+),(\d+),(\d+),(\d+),(\d+)rv���r\�������rB���) r����_227_rer����r����r�����searchr����groupsrz���r����)re���r����r����Znumbersr���r.���r���r���r���r����=��s���� r����c�����������������C���s����|�d�d��dkrt�|���|��d�}|dk�r2t|���|��d|d��}|dk�rRt|���|�|d��|�|d��krrt|���|�|d�|���|�|d���}t|�dkr�t|���|d�}t|d��}||fS�)Nr[���Z229�(r����)r ���rB���)r����findr���ry���rF���r����)re���Zpeer�left�right�partsr���r.���r���r���r���r����Q��s ���� �r����c�����������������C���s����|�d�d��dkrt�|���|�dd��dkr,dS�d}d}t|��}||k�r�|�|�}|d�}|dkrz||ks�|�|�dkrrq�|d�}||�}q<|S�)Nr[���r����rB���z "r���r ����")r���rF���)re���r����rJ����nrf���r���r���r���r����g��s ���� r����c�����������������C���s���t�|���d�S�r���)r:���)rR���r���r���r���r����~��s����r����r����Ic����������� ������C���s����|s|}d|�}|���|��|��|��t|��d��\}}|�||��|�d|��}|d�d��dkrdt�|��d|��}|d�d��dkr�t�|�����|����d�S�)NzTYPE r����zSTOR r[���>���r�����125�RETR )ru���r����rt���r|���r���rh���) �sourceZ sourcename�targetZ targetnamer����Z sourcehostZ sourceportZtreplyZsreplyr���r���r����ftpcp���s���� r����c������������������C���s���t�tj�dk�r"ttj��t�d��dd�l}�d}d�}tjd�dkrR|d�}tjd=�q2tjd�d�d��dkr�tjd�dd���}tjd=�tjd�}t|�}|� |��d�}�}}z|��|�}W�n(�t k r����|d�k r�tj�d��Y�n:X�z|� |�\}}}W�n"�tk �r���tj�d��Y�nX�|�|||��tjdd���D�]�} | d�d��d k�r`|�| dd�����nt| d�d��dk�r�d } | dd����r�| d�| dd����} |�| �}n0| dk�r�|�|j���n|�d | �tjjd���q6|����d�S�)Nr}���r���r ���z-dz-rr���z5Could not open account file -- using anonymous login.z$No account -- using anonymous login.z-lZCWDr����z-pr����i���)rF���r/����argvr:����test�__doc__�exit�netrcr���r>���r%����stderr�writeZauthenticators�KeyErrorr���r����rt���rA���r?���r�����stdoutr$���)r����r9���Zrcfiler���ZftpZuseridr���r���Znetrcobjr6���rs���re���r���r���r���r�������sV���� � � ��r�����__main__)r���r����)$r/���r1���r����__all__ro���r����r����� Exceptionr���r���r���r���r���r%���r&���r���rN���rn���r���r�����ImportErrorr����r����r����r����ZSSLErrorr����r����r����r����r����r����r����r����r����r���r���r���r���r����<module>'���sP��� � ����Z | 9