%PDF- %PDF-
Mini Shell

Mini Shell

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

�

�2e����ddlZddlZddlZddlmZddlmZGd�dejj�Z	ejjde	�y)�N)�log)�BackendExceptionc�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�
RcloneBackendc��tjjj||�||_|jj
|_d|_	|j|j�d��\}}}tj�}|tjk\rdt j"d<nt|tj$k\rdt j"d<nM|tj&k\rdt j"d<n&|tj(k\rdt j"d<|j
j+d	�r%|jd
dj-ddd
�|_t!j.|j�|_y#t$r2tjdtjj�Y��NwxYw)N�rclonez versionz'rclone not found: please install rclone�DEBUG�RCLONE_LOG_LEVEL�INFO�NOTICE�ERRORz//�z:/�:�)�	duplicity�backend�Backend�__init__�
parsed_url�path�remote_path�
rclone_cmd�_subprocess_safe_popen�	Exceptionr�
FatalError�	ErrorCode�
backend_error�getverbosityr	�os�environrrr
�
startswith�replace�fsdecode)�selfr�rc�o�e�verbs      �B/usr/lib/python3/dist-packages/duplicity/backends/rclonebackend.pyrzRcloneBackend.__init__ s[�����!�!�*�*�4��<�$����?�?�/�/���"���	c��2�2�d�o�o�5F�h�3O�P�H�B��1����!���3�9�9��-4�B�J�J�)�*�
�S�X�X�
�-3�B�J�J�)�*�
�S�Z�Z�
�-5�B�J�J�)�*�
�S�Y�Y�
�-4�B�J�J�)�*��?�?�%�%�d�+�#�/�/���3�;�;�D�#�q�I�D���;�;�t�'7�'7�8����!�	c��N�N�D�c�m�m�Fa�Fa�b�	c�s�"F�7G�Gc��tj|�}tj|j�}|j�d|j�d|�d|�d�}|j|�\}}}|dk7rNtjj|�rtj|�tdt|��d|����y)N�	 copyto '�/�' '�'r�rclone returned rc = �: )rr#�namerrrr�isfile�remover�int)r$�remote_filename�
local_path�local_pathname�commandliner%r&r's        r)�_getzRcloneBackend._get:s����+�+�o�6�����Z�_�_�5�����)��4�3C�3C�2D�A�o�EV�VY�Zh�Yi�ij�k���.�.�{�;���A�q�
��7��w�w�~�~�n�-��	�	�.�)�"�%:�3�r�7�)�2�a�S�#I�J�J��c��tj|j�}tj|�}|j�d|�d|j�d|�d�}|j|�\}}}|dk7rt
dt|��d|����y)Nr+r-r,r.rr/r0)rr#r1rrrrr4)r$�source_pathr5�source_pathnamer8r%r&r's        r)�_putzRcloneBackend._putDs����+�+�k�&6�&6�7���+�+�o�6�����)��?�2C�3�t�GW�GW�FX�XY�Zi�Yj�jk�l���.�.�{�;���A�q�
��7�"�%:�3�r�7�)�2�a�S�#I�J�J�r:c�0�g}|j�d|j�d�}|j|�\}}}|dk(r|S|dk7rtdt	|��d|����|s|S|jd�D�cgc]}|s�t
j|���c}Scc}w)Nz lsf 'r.�rr/r0�
)rrrrr4�splitr�fsencode)r$�filelistr8r%r&r'�xs       r)�_listzRcloneBackend._listLs��������)���0@�0@�/A��C���.�.�{�;���A�q�
��7��O�
��7�"�%:�3�r�7�)�2�a�S�#I�J�J���O�()����
�;�1�����A��;�;��;s�1B�9Bc���tj|�}|j�d|j�d|�d�}|j	|�\}}}|dk7rtdt
|��d|����y)Nz% deletefile --drive-use-trash=false 'r,r.rr/r0)rr#rrrrr4)r$r5r8r%r&r's      r)�_deletezRcloneBackend._deleteXsx���+�+�o�6�����)�)N�t�O_�O_�N`�`a�bq�ar�rs�t���.�.�{�;���A�q�
��7�"�%:�3�r�7�)�2�a�S�#I�J�J�r:c��ddl}ddlm}m}|j	|�}||||d��}|j�\}}|j	d�D]}	t
|	�dkDs�t|	��|j||fS)Nr)�Popen�PIPET)�stdout�stderr�universal_newlinesrAr)	�shlex�
subprocessrJrKrB�communicate�len�print�
returncode)
r$r8rOrJrK�args�prLrM�ls
          r)rz$RcloneBackend._subprocess_safe_popen_sv���	
�
�{�{�;�'���$�t�D�T�J������������d�#�	�A��1�v��z��a��	��|�|�V�V�+�+r:N)	�__name__�
__module__�__qualname__rr9r>rFrHr�r:r)rrs#��9�4K�K�
<�K�
,r:rr)r�os.path�duplicity.backendrr�duplicity.errorsrrrr�register_backendr[r:r)�<module>r`sI��.
����-�M,�I�%�%�-�-�M,�`
���"�"�8�]�;r:

Zerion Mini Shell 1.0