File: //usr/lib64/python3.9/site-packages/borg/helpers/__pycache__/progress.cpython-39.opt-1.pyc
a
HZ�h& � @ s� d dl Z d dlZd dlZd dlZd dlmZ ddlmZ e� Zddlm Z dd� Z
G d d
� d
�ZG dd� de�ZG d
d� de�Z
G dd� d�ZdS )� N)�get_terminal_size� )�
create_logger� )�ellipsis_truncatec C s$ t dd�d }|dkr | �|�S | S )N����r ��fallbackr r )r �ljust)�message�terminal_space� r �;/usr/lib64/python3.9/site-packages/borg/helpers/progress.py�justify_to_terminal_size
s
r c @ sP e Zd ZdZdZdZdZedd� �Zddd�Z d d
� Z
dd�dd
�Zdd� ZdS )�ProgressIndicatorBasezborg.output.progressNFr c C s | j d7 _ | j S )zYUnique number, can be used by receiving applications to distinguish different operations.r )�operation_id_counter)�clsr r r �operation_id s z"ProgressIndicatorBase.operation_idc C s� d | _ t�| j�| _| �� | _|| _| jjs�tj t
jd�| _ | j �tj
� t�d�}z |j}|jrfdnd}|j| _W n ty� d}Y n0 | j �|� || j _| j�| j � | jjtjkr�| j�tj� d| j_| j�� tj
k| _d S )N)�streamZborg�
�
F)�handler�loggingZ getLogger�LOGGER�loggerr �id�msgid�handlersZ
StreamHandler�sys�stderrZsetLevel�INFO� formatter�json�AttributeErrorZsetFormatter�
terminatorZ
addHandler�levelZNOTSETZWARNZ propagateZgetEffectiveLevel�emit)�selfr r r"