File: //usr/lib/python3/dist-packages/boto/glacier/__pycache__/writer.cpython-310.pyc
o
ckF[�% � @ st d dl Z d dlmZmZmZ d dlmZ dZG dd� de�ZG dd� de�Z d d
� Z
efdd�ZG d
d� de�ZdS )� N)�chunk_hashes� tree_hash�bytes_to_hex)�compute_hashes_from_fileobji c @ s0 e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
S )�_Partitionera� Convert variable-size writes into part-sized writes
Call write(data) with variable sized data as needed to write all data. Call
flush() after all data is written.
This instance will call send_fn(part_data) as needed in part_size pieces,
except for the final part which may be shorter than part_size. Make sure to
call flush() to ensure that a short final part results in a final send_fn
call.
c C s || _ || _g | _d| _d S �Nr )� part_size�send_fn�_buffer�_buffer_size)�selfr r � r
�5/usr/lib/python3/dist-packages/boto/glacier/writer.py�__init__1 s
z_Partitioner.__init__c C sR |dkrd S | j �|� | jt|�7 _| j| jkr'| �� | j| jksd S d S )N� )r
�appendr �lenr �
_send_part�r �datar
r
r �write7 s �z_Partitioner.writec C sf d� | j�}t|�| jkr|| jd � g| _t| jd �| _ng | _d| _|d | j� }| �|� d S )Nr r )�joinr
r r r r )r r �partr
r
r r ? s z_Partitioner._send_partc C s | j dkr| �� d S d S r )r r �r r
r
r �flushM s
�z_Partitioner.flushN)�__name__�
__module__�__qualname__�__doc__r r r r r
r
r
r r % s r c @ s<