%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__/mediafirebackend.cpython-312.pyc

�

�2e���dZddlZddlZddlmZdZGd�dejj�Z	ejjde	�y)zMediaFire Duplicity Backend�N)�BackendException�45593c�D�eZdZdZd�Zdd�Zd�Zd�Zd�Zd�Z	d	�Z
dd
�Zy)
�MediafireBackendzSUse this backend when saving to MediaFire

    URLs look like mf:/root/folder.
    c���	ddl}tj
jj||�|j}|j�}|jj|_|jj|_|jj|_|jj"|_|jj'�|_
|jj)t*||��d|j,j/dd�d��}	|jj1|�}t3||j�std��	||_y#t$r}tdt|�����d}~wwxYw#|jj"$rD|jj5|d�	�}|jj7|d
��Y||_ywxYw)Nrz=Mediafire backend requires the mediafire library.
Exception: )�app_id�email�passwordzmf:///�/�z-target_url already exists and is not a folderT)�	recursive�private)�privacy)�mediafire.client�ImportErrorr�str�	duplicity�backend�Backend�__init__�username�get_password�client�File�	_file_res�Folder�_folder_res�
DownloadError�_downloaderror_exc�ResourceNotFoundError�
_notfound_exc�MediaFireClient�login�DUPLICITY_APP_ID�path�split�get_resource_by_uri�
isinstance�
create_folder�update_folder_metadata�folder)�self�
parsed_url�	mediafire�e�mediafire_email�mediafire_password�urir+s        �E/usr/lib/python3/dist-packages/duplicity/backends/mediafirebackend.pyrzMediafireBackend.__init__%s���	�#�	���!�!�*�*�4��<�$�-�-��!�.�.�0��"�)�)�.�.���$�+�+�2�2���"+�"2�"2�"@�"@���&�-�-�C�C����&�&�6�6�8��������!1��Se��f��z���,�,�S�!�4�Q�7�8�9��
	G��[�[�4�4�S�9�F��f�d�&6�&6�7�&�'Y�Z�Z�8�����E�	�"����F�8���
��	��:���5�5�	G��[�[�.�.�s�d�.�C�F��K�K�.�.�s�I�.�F����	G�s*�E!�<F	�!	F�*F�F�	AG&�%G&Nc�0�|�)tjj|j�}|j	|�}|j
j
�5|j
j|jd�|�ddd�y#1swYyxYw)zUpload fileN�rb)	�osr%�basename�name�
_build_urir�upload_session�upload_file�open)r,�source_path�remote_filenamer2s    r3�_putzMediafireBackend._putLsz���"� �g�g�.�.�{�/?�/?�@�O��o�o�o�.��
�[�[�
'�
'�
)�	A��K�K�#�#�K�$4�$4�T�$:�C�@�	A�	A�	A�s�,B�Bc���|j|�}	|jj||jd��y#|j$r}t|��d}~wwxYw)z
Download file�wbN)r9r�
download_filer<rr)r,�filename�
local_pathr2�exs     r3�_getzMediafireBackend._getWsS���o�o�h�'��	'��K�K�%�%�c�:�?�?�4�+@�A���&�&�	'�"�2�&�&��	'�s�+?�A�A�Ac���|j�}g}|jj|�D]<}t||j�s�|j|dj
d���>|S)zList files in backup directoryrCzutf-8)r9r�get_folder_contents_iterr(r�append�encode)r,r2�	filenames�items    r3�_listzMediafireBackend._list_sh���o�o����	��K�K�8�8��=�	?�D��d�D�N�N�3�����T�*�-�4�4�W�=�>�		?���c�|�|j|�}|jj|tj��y)zDelete single file)�purgeN)r9r�delete_file�config�mf_purge)r,rCr2s   r3�_deletezMediafireBackend._deleteks+���o�o�h�'��������6�?�?��;rNc�4�|D]}|j|��y)zDelete list of filesN)rT)r,�
filename_listrCs   r3�_delete_listzMediafireBackend._delete_listps��%�	#�H��L�L��"�	#rNc��|j|�}	|jj|�}t|d�}d|iS#|j$rd}Yd|iSwxYw)zStat the remote file�size���)r9rr'�intr!)r,rCr2�resourcerYs     r3�_queryzMediafireBackend._queryusj���o�o�h�'��	��{�{�6�6�s�;�H��x��'�(�D���~����!�!�	��D���~��	�s�)A�A�Ac�R�d|jd�dtj|���S)zBuild relative URIzmf:�	folderkeyr)r+r6�fsdecode)r,rCs  r3r9zMediafireBackend._build_uri�s)���T�[�[��-�.�a����H�0E�/F�G�GrN)N)�)�__name__�
__module__�__qualname__�__doc__rr?rFrMrTrWr]r9�rNr3rrs2���
%�N	A�'�
�<�
#�

�HrNr�mf)rer6�duplicity.backendr�duplicity.errorsrr$rrr�register_backendrfrNr3�<module>rksO��*"�	��-���dH�y�(�(�0�0�dH�N
���"�"�4�)9�:rN

Zerion Mini Shell 1.0