File: //usr/lib/python3/dist-packages/duplicity/backends/__pycache__/idrivedbackend.cpython-310.pyc
o
��`PL � @ s� d dl Z d dlZd dlZd dlZd dlm mZ d dlZd dl Z d dl
Zd dlmZ d dlm
Z
d dlmZ d dlmZ d dlmZ G dd� dejj�Zej�d e� dS )
� N)�config)�log)�tempdir)�progress)�BackendExceptionc @ s| e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� ZdS )�
IDriveBackendc C s@ t jj�| |� || _t j�| j�| _t�d� |�� d| _
d S )Nzparsed_url: {0}F)� duplicity�backend�Backend�__init__�
parsed_url�strip_auth_from_url�
url_stringr �Debug�format� connected)�selfr � r �C/usr/lib/python3/dist-packages/duplicity/backends/idrivedbackend.pyr i s
zIDriveBackend.__init__c C s | j S �N)r �r r r r �user_connecteds s zIDriveBackend.user_connectedc C s� t �d�|�� z
| �|�\}}}W n ty td�|���w || }zdd�t�d|�� d }t �
|�}W n d }Y t �d�|�� |S )NzRequest command: {0}z'Unknown protocol failure on request {0}z<root>� z<[^>]+>z</root>zRequest response: {0})r r r �subprocess_popen�KeyErrorr �join�re�findall�ET�
fromstring)r �commandline�_�reply�error�response�xml�elr r r �requestv s �zIDriveBackend.requestc
C sd t j�d�}|d u r1t�d� t�d� t�d� t�d� t�d� t�d� t�d� td��t j�|d �| _t� d
| j � t j�d�| _
| j
d u ret�d� t�d� t�d
� t�d� td��t� d| j
� t j�d�}|d u r�t�d� t�d� t�d� t�d� t�d� td��t� d| � d�|�| _t
jd u r�d| _d| _ndt j�dt
j�| _zt �| j� W nF t�y } z9d| _|jtjkr�t� d�| j�� n t�d� t�d�| j�� t�d� t�d� td�| j���W Y d }~nd }~ww t� d�| j�� d| _t j�d �| _| jd u �r6t�d� t�d!� t�d"� t�d� td#��t� d$| j � | �| j| j d%�| j
� ��d&�}|jd' d(k�ratd)|jd* ��|jd* d+k�rmtd,��|jd- d.k�rytd/��|jd0 d1k�r�t j�d2�}|d u �r�t�d� t�d3� t�d4� t�d5� t�d� td6��t� d7| � | jd8�|�7 _| �| j| j d9�| j
� ��d&�}|jd: | _| �| j| j d;�| j
| j� �}d | _|�d<�D ]}|jd= | jk�r d>|jd? d@ | _�q�| jd u �r(| �| j| j dA�| j| j
| j� ��d<�}d>|jd? d@ | _d| _t� dB� d S )CN� IDEVSPATHzH------------------------------------------------------------------------zHWARNING: No path to 'idevsutil_dedup' has been set. Download module fromzZ https://www.idrivedownloads.com/downloads/linux/download-options/IDrive_linux_64bit.zip�orzZ https://www.idrivedownloads.com/downloads/linux/download-options/IDrive_linux_32bit.zipzTand place anywhere with exe rights. Then creat env var 'IDEVSPATH' with path to filezBNo IDEVSPATH env var set. Should contain folder to idevsutil_dedup�idevsutil_dedupzIDrive command base: %s�IDRIVEIDz WARNING: IDrive logon ID missingzACreate an environment variable IDriveID with your IDrive logon IDz1No IDRIVEID env var set. Should contain IDrive idz
IDrive id: %s� IDPWDFILEz&WARNING: IDrive password file missgingz5Please create a file with your IDrive logon password,zMThen create an environment variable IDPWDFILE with path/filename of said filez;No IDPWDFILE env var set. Should contain file with passwordzIDrive pwdpath: %sz --password-file={0}Fr �/z)Using existing directory {0} as fake-rootzOWARNING: Creation of FAKEROOT {0} failed; backup will use system temp directoryz-This might interfere with incremental backupsz$Creation of the directory {0} failedz>Directory {0} created as fake-root (Will clean-up afterwards!)T�IDBUCKETz%WARNING: IDrive backup bucket missingzDCreate an environment variable IDBUCKET specifying the target bucketz<No IDBUCKET env var set. Should contain IDrive backup bucketzIDrive bucket: %sz --validate --user={0}�tree�message�SUCCESSzProtocol failure - �descz
VALID ACCOUNTzIDrive account invalid�configstatus�SETzIDrive account not set�
configtype�PRIVATE� IDKEYFILEz,WARNING: IDrive encryption key file missgingz5Please create a file with your IDrive encryption key,zMThen create an environment variable IDKEYFILE with path/filename of said filezANo IDKEYFILE env var set. Should contain file with encription keyzIDrive keypath: %sz --pvt-key={0}z --getServerAddress {0}�cmdUtilityServerz --list-device {0}@{1}::home�item� nick_name�5c0b� device_id�4b5zzZ --create-bucket --bucket-type=D --nick-name={0} --os=Linux --uid=987654321 {1}@{2}::home/zUser fully connected)�os�environ�getr �Warnr �pathr �cmdr �idriveidr �auth_switchr �fakeroot�cleanup�mkdir�OSError�errno�EEXIST�bucketr'