File: //usr/lib/python3/dist-packages/duplicity/backends/__pycache__/b2backend.cpython-310.pyc
o
l��`C# � @ s� d dl mZ e�� d dlmZ d dlmZ d dlmZ d dlm Z d dlm
Z
d dlmZ d dlm
Z
mZ d d lZG d
d� de�ZG dd
� d
ejj�Zej�de� d S )� )�standard_library)�object)�
quote_plus)�log)�progress)�util)�config)�BackendException�FatalBackendExceptionNc @ s4 e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� ZdS )�B2ProgressListenerc C � d S �N� ��selfr r �>/usr/lib/python3/dist-packages/duplicity/backends/b2backend.py� __enter__) � zB2ProgressListener.__enter__c C s
|| _ d S r
)�total_byte_count)r r r r r �set_total_bytes, s
z"B2ProgressListener.set_total_bytesc C s t �|| j� d S r
)r �report_transferr )r �
byte_countr r r �bytes_completed/ s z"B2ProgressListener.bytes_completedc C r r
r r r r r �close2 r zB2ProgressListener.closec C r r
r )r �exc_type�exc_val�exc_tbr r r �__exit__5 r zB2ProgressListener.__exit__N)�__name__�
__module__�__qualname__r r r r r r r r r r ( s r c @ sH e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dd� Z
dS )� B2Backendz4
Backend for BackBlaze's B2 storage service
c C s, t jj�| |� zddlm} |�d�}dd� |D �| _W n g d�| _Y zddlm } ddlm
} dd lm} W n� t
y� z'ddlm } ddlm
} dd
lma dd lm} | jg d�k rhddlma W nz t
y� z ddlm } ddlm
} dd
lma dd lm} ddlma W nP t
y� } zDd
t|dd
�v r�� z ddlm } ddlm
} dd
lma dd lm} ddlma W n t
y� dt|dd�v rт td��w W Y d}~nd}~ww Y nw Y nw ||� �| _d| j _!|j"}| �#� } dd� |j$�%dd��d�D �| _&| j&�r| j&�'d�| _"| j&�'d�}
ntd��d�(dd� | j&D ��| _$| j�)d|| � zt*�+d| j$|
| jj,�-� f t*j.� W n t/�y` t*�+d| j$|
| jj,�0� f t*j.� Y nw z| j�1|
�| _2t*�+dt*j.� W dS |�y� zt*�+dt*j.� | j�3|
d�| _2W Y dS t4d��w ) zA
Authorize to B2 api and set up needed variables
r )�__version__�.c S s g | ]}t |��qS r )�int��.0�xr r r �
<listcomp>I � z&B2Backend.__init__.<locals>.<listcomp>)r r r )�B2Api)�InMemoryAccountInfo)�NonExistentBucket)�DownloadDestLocalFile�� � r )�FileVersionInfoFactory�b2sdk�name�b2z5B2 backend requires B2 Python SDK (pip install b2sdk)N�B2c S s g | ]}|d kr|�qS )� r r% r r r r( u s �@�/zB2 requires a bucket namer6 c S s g | ]}|d �qS )r8 r )r&