File: //usr/lib/python3/dist-packages/duplicity/backends/__pycache__/mediafirebackend.cpython-310.pyc
o
��`� � @ sb d Z ddlmZ ddlZddlZddlmZ ddlmZ dZ G dd� dej
j�Zej
�
d e� dS )
zMediaFire Duplicity Backend� )�strN)�util)�BackendException�45593c @ sT e Zd ZdZdd� Zddd�Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
ddd�ZdS )�MediafireBackendzSUse this backend when saving to MediaFire
URLs look like mf:/root/folder.
c
C s zdd l }W n ty } ztdt|� ��d }~ww tjj�| |� |j}| � � }|j
j| _|j
j
| _|j
j| _|j
j| _|j
�� | _
| j
jt||d� d|j�dd�d }z| j
�|�}t|| j�sitd��W n |j
jy� | j
j|dd �}| j
j|d
d� Y nw || _d S )Nr z?Mediafire backend requires the mediafire library.
Exception: %s)�app_id�email�passwordzmf:///�/� z-target_url already exists and is not a folderT)� recursive�private)�privacy)�mediafire.client�ImportErrorr r � 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) � r1 �E/usr/lib/python3/dist-packages/duplicity/backends/mediafirebackend.pyr '