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Ú z<[^>]+>zzRequest 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 rd| _d| _ndt j dt
j¡| _zt | j¡ W nF ty } 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(kratd)|jd* ƒ‚|jd* d+krmtd,ƒ‚|jd- d.krytd/ƒ‚|jd0 d1krº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= | jkr 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