%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python3/dist-packages/duplicity/backends/__pycache__/
Upload File :
Create Path :
Current File : //usr/lib/python3/dist-packages/duplicity/backends/__pycache__/lftpbackend.cpython-312.pyc

�

�2e�#���ddlZddlZddlZddlZddlZddlZ	ddlmZ	ddlZ
ddl
mZddl
mZddl
mZGd�de
j"j$�Ze
j"j)de�e
j"j)d	e�e
j"j)d
e�e
j"j)de�e
j"j)de�e
j"j)d
e�e
j"j)de�e
j"j)de�e
j"j)de�e
j"j)de�e
j"j)de�e
j"j)de�e
j"j)de�e
j"j*j-gd��y#e
$r
ddlmZ	Y���wxYw)�N)�quote)�config)�log)�tempdirc�.�eZdZdZd�Zd�Zd�Zd�Zd�Zy)�LFTPBackendz4Connect to remote store using File Transfer Protocolc	�H�tjjj||�	t	j
d�}|j
�}|j�}s.tjdtjj�|jd�djd�dj�d}tjd|���||_tjj!|j"d�j%�|_t'j(d	d
|j"�|_|j"�d|j*��|_|j.r"|xj,d|j.��z
c_t'j(d
d|j0�|_t5|j2�dk(rd|_|j2ddk7r|xj2dz
c_d|_|jj8rR|jj8|_|j;�|_d|j8�d|j<�d�|_t>j@dk(rd|_!nd|_!t>jD|_#|j"dk(rnt>jHs^gd�}|jFsN|D]I}tj0jK|�}tj0jM|�s�B||_#ntOjP�jS�\|_*|_+t	jX|jTd�|_-|jZj]dt>jHrdndzdz�|jFr2|jZj]dt_|jF��d��t>j`r6|jZj]dt_t>j`��d��|jj"dk(rR|jZj]d �|jZj]d!�|jZj]d"�n�|jj"d#k(rR|jZj]d$�|jZj]d%�|jZj]d&�n|jZj]d'�|jZj]d(�|jZj]d)t>jb�d��|jZj]d*t>jd�d��|jZj]d+|jB�d��tjf�tjhk\r|jZj]d,�|jj"d#k(rG|jZj]d-|j6�d.|j,jkd#d/��d��n6|jZj]d-|j6�d.|j,�d��|jZj�tjf�tjhk\r=tm|jVd0�}tjnd1|j
����yy#t$rY���wxYw)2Nzlftp --versionz%LFTP not found:  Please install LFTP.�
rz | �zLFTP version is �lftpz^webdav�httpz://�:z^/��/���z-u '�,�'�regular�off�on�https)z~/.duplicity/cacert.pemz~/duplicity_cacert.pemz/etc/duplicity/cacert.pem�wzset ssl:verify-certificate �false�truezset ssl:ca-file zset ssl:ca-path �ftpszset ftp:ssl-allow true
zset ftp:ssl-protect-data true
zset ftp:ssl-protect-list true
�ftpeszset ftp:ssl-force on
zset ftp:ssl-protect-data on
zset ftp:ssl-protect-list on
zset ftp:ssl-allow false
zset http:use-propfind true
zset net:timeout zset net:max-retries zset ftp:passive-mode zdebug
zopen � �ftp�rzSETTINGS: 
)8�	duplicity�backend�Backend�__init__�os�popen�read�close�	Exceptionr�
FatalError�	ErrorCode�ftps_lftp_missing�split�Notice�
parsed_url�strip_prefix�scheme�lower�re�sub�hostname�
url_string�port�path�remote_path�len�authflag�username�get_password�passwordr�ftp_connection�conn_opt�ssl_cacert_file�cacert_file�ssl_no_check_certificate�
expanduser�isfiler�default�mkstemp�tempfd�tempname�fdopen�tempfile�write�	cmd_quote�ssl_cacert_path�timeout�num_retries�getverbosity�DEBUG�replace�open�Debug)	�selfr.�p�fout�ret�version�cacert_candidatesr7�fs	         �@/usr/lib/python3/dist-packages/duplicity/backends/lftpbackend.pyr#zLFTPBackend.__init__1sZ�����!�!�*�*�4��<�	����)�*�A��6�6�8�D��'�'�)�C���N�N�B�C�M�M�Dc�Dc�d��*�*�T�"�1�%�+�+�E�2�1�5�;�;�=�a�@���
�
�%�g�Y�/�0�$����'�'�4�4�Z�5F�5F��O�U�U�W����f�f�Y�����<���!�[�[�M��Z�-@�-@�,A�B����?�?��O�O��:�?�?�"3�4�4�O��6�6�$��J�O�O�<����t��� �A�%�"�D�����B��3�&�����#����
��?�?�#�#� �O�O�4�4�D�M� �-�-�/�D�M�"�4�=�=�/��4�=�=�/��C�D�M�� � �I�-�!�D�M� �D�M�"�1�1����;�;�'�!�&�*I�*I� r���#�#�-��D��7�7�-�-�d�3�D��w�w�~�~�d�+�+/��(��	�&-�_�_�%6�%>�%>�%@�"���T�]��	�	�$�+�+�s�3��
��
�
���)��8W�8W�W�]c�d�gk�k�	
�����M�M���"2�9�T�=M�=M�3N�2O�r� R�S��!�!��M�M���"2�9�V�=S�=S�3T�2U�UW� X�Y��?�?�!�!�V�+��M�M��� :�;��M�M��� A�B��M�M��� A�B�
�_�_�
#�
#�w�
.��M�M��� 8�9��M�M��� ?�@��M�M��� ?�@��M�M��� ;�<��
�
���:�;��
�
���.�v�~�~�.>�b�A�B��
�
���2�6�3E�3E�2F�b�I�J��
�
���3�D�M�M�?�"�E�F��������*��M�M���	�*��?�?�!�!�W�,��M�M���%��
�
��a����8O�8O�PW�Y^�8_�7`�`b� c�d��M�M���%��
�
��a����7H�� K�L��
�
�����������*��T�]�]�C�(�A��I�I��Q�V�V�X�J�/�0�+��g�	��	�s�5\�	\!� \!c��t|dj�rtj|�}d|j�dt|j��dt|j��dt|j�tj|�z�d�	}tjd|���|j|�\}}}tjd|���tjd	|���tjd
|���y)N��lftp -c "source z; mkdir -p -f z; put � -o �"�CMD: zSTATUS: �STDERR:
�STDOUT:
)�
isinstance�	__class__r$�fsdecoderHrLr8�uc_namerrT�subprocess_popen)rU�source_path�remote_filename�commandline�s�l�es       r\�_putzLFTPBackend._put�s����o�s�}�}�5� �k�k�/�:�O��t�}�}�o�^�I�d�FV�FV�<W�;X�Y��[�0�0�1�2�3��D�,�,�-����O�0L�L�M�Q�
P�	�
	�	�	�E�+��'�(��'�'��4���1�a��	�	�H�Q�C�.�!��	�	�I�a�S�/�"��	�	�I�a�S�/�"r^c��t|dj�rtj|�}dt	|j
��dt	|j�|z�dt	|j��d�}tjd|���|j|�\}}}tjd|���tjd|���y)	Nr^r_z; get r`rarbrcrd)rerfr$rgrLrHr8rhrrTri)rUrk�
local_pathrl�_rnros       r\�_getzLFTPBackend._get�s����o�s�}�}�5� �k�k�/�:�O��y����7�8�9��T�-�-�.��@�A�B��J�.�.�/�0��
3�	�
	�	�	�E�+��'�(��'�'��4���1�a��	�	�I�a�S�/�"��	�	�I�a�S�/�"r^c	�&�tjj|jj�}t|j�}dt|j��d|�d|�d|�d�	}tjd|���|j|�\}}}tjd|���tjd|���|jd	�D�cgc]+}|s�tj|j�d
���-c}Scc}w)Nr_z; ( cd z && ls ) || ( mkdir -p -f z && cd z	 && ls )"rbrcrdr
r)�urllib�parse�unquoter.r7rLr8rHrrTrir,r$�fsencode)rU�
remote_dir�quoted_pathrlrsrnro�xs        r\�_listzLFTPBackend._list�s����\�\�)�)�$�/�/�*>�*>�?�
��� 0� 0�1���y����7�8���}�M�(�M���
�Y�
H�	�	�	�	�E�+��'�(��'�'��4���1�a��	�	�I�a�S�/�"��	�	�I�a�S�/�"�56�G�G�D�M�G�q�Q����A�G�G�I�b�M�*�G�G��Gs�D�#(Dc
�Z�dt|j��dt|j��dttj|���d�}tjd|���|j|�\}}}tjd|���tjd|���y)Nr_z; cd z; rm rarbrcrd)rLrHr8r$rgrrTri)rU�filenamerlrsrnros      r\�_deletezLFTPBackend._delete�s����y����7�8��i��HX�HX�>Y�=Z�[��B�K�K��1�2�3�1�
6�	�	�	�	�E�+��'�(��'�'��4���1�a��	�	�I�a�S�/�"��	�	�I�a�S�/�"r^N)	�__name__�
__module__�__qualname__�__doc__r#rprtr}r��r^r\rr.s!��>�]1�~#�#�H�&#r^rrr�fishr�lftp+ftp�	lftp+ftps�	lftp+fish�
lftp+ftpes�	lftp+sftp�lftp+webdav�lftp+webdavs�	lftp+http�
lftp+https)
rrr�rr�r�r�r�r�r�r�r�r�)r$�os.pathr2�urllib.errorrv�urllib.parse�urllib.request�shlexrrL�ImportError�pipes�duplicity.backendr rrrr!r"r�register_backend�uses_netloc�extendr�r^r\�<module>r�s���8
��	����)�(�����X#�)�#�#�+�+�X#�v
���"�"�5�+�6�	���"�"�6�;�7�	���"�"�6�;�7�	���"�"�7�K�8�	���"�"�:�{�;�	���"�"�;��<�	���"�"�;��<�	���"�"�<��=�	���"�"�;��<�	���"�"�=�+�>�	���"�"�>�;�?�	���"�"�;��<�	���"�"�<��=�	�����$�$����g�)�(�(�)�s�G)�)G8�7G8

Zerion Mini Shell 1.0