HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //usr/lib/python3.6/site-packages/s3transfer/__pycache__/subscribers.cpython-36.pyc
3

\��_,�@s8ddlmZddlmZddlmZGdd�de�ZdS)�)�six)�accepts_kwargs)�InvalidSubscriberMethodErrorcsNeZdZdZdddgZ�fdd�Zedd��Zd	d
�Zdd�Z	d
d�Z
�ZS)�BaseSubscriberz�The base subscriber class

    It is recommended that all subscriber implementations subclass and then
    override the subscription methods (i.e. on_{subsribe_type}() methods).
    ZqueuedZprogress�donecs|j�tt|�j|�S)N)�_validate_subscriber_methods�superr�__new__)�cls�args�kwargs)�	__class__��!/usr/lib/python3.6/subscribers.pyr	szBaseSubscriber.__new__cCsLxF|jD]<}t|d|�}tj|�s0td|��t|�std|��qWdS)NZon_z&Subscriber method %s must be callable.z=Subscriber method %s must accept keyword arguments (**kwargs))�VALID_SUBSCRIBER_TYPES�getattrr�callablerr)r
Zsubscriber_typeZsubscriber_methodrrrr#s
z+BaseSubscriber._validate_subscriber_methodscKsdS)a�Callback to be invoked when transfer request gets queued

        This callback can be useful for:

            * Keeping track of how many transfers have been requested
            * Providing the expected transfer size through
              future.meta.provide_transfer_size() so a HeadObject would not
              need to be made for copies and downloads.

        :type future: s3transfer.futures.TransferFuture
        :param future: The TransferFuture representing the requested transfer.
        Nr)�self�futurerrrr�	on_queued1s
zBaseSubscriber.on_queuedcKsdS)ajCallback to be invoked when progress is made on transfer

        This callback can be useful for:

            * Recording and displaying progress

        :type future: s3transfer.futures.TransferFuture
        :param future: The TransferFuture representing the requested transfer.

        :type bytes_transferred: int
        :param bytes_transferred: The number of bytes transferred for that
            invocation of the callback. Note that a negative amount can be
            provided, which usually indicates that an in-progress request
            needed to be retried and thus progress was rewound.
        Nr)rrZbytes_transferredrrrr�on_progress@szBaseSubscriber.on_progresscKsdS)a�Callback to be invoked once a transfer is done

        This callback can be useful for:

            * Recording and displaying whether the transfer succeeded or
              failed using future.result()
            * Running some task after the transfer completed like changing
              the last modified time of a downloaded file.

        :type future: s3transfer.futures.TransferFuture
        :param future: The TransferFuture representing the requested transfer.
        Nr)rrrrrr�on_doneRs
zBaseSubscriber.on_done)�__name__�
__module__�__qualname__�__doc__rr	�classmethodrrrr�
__classcell__rr)r
rrsrN)Zbotocore.compatrZs3transfer.compatrZs3transfer.exceptionsr�objectrrrrr�<module>
s