U
    O8c	                     @   s4   d dl mZmZ G dd deZG dd deZdS )    )SubmissionTaskTaskc                   @   s   e Zd ZdZdd ZdS )DeleteSubmissionTaskz8Task for submitting tasks to execute an object deletion.c              
   K   s6   |j j}| j|t| j||j|j|jddd dS )a  
        :param client: The client associated with the transfer manager

        :type config: s3transfer.manager.TransferConfig
        :param config: The transfer config associated with the transfer
            manager

        :type osutil: s3transfer.utils.OSUtil
        :param osutil: The os utility associated to the transfer manager

        :type request_executor: s3transfer.futures.BoundedExecutor
        :param request_executor: The request executor associated with the
            transfer manager

        :type transfer_future: s3transfer.futures.TransferFuture
        :param transfer_future: The transfer future associated with the
            transfer request that tasks are being submitted for
        )clientbucketkey
extra_argsT)Ztransfer_coordinatorZmain_kwargsis_finalN)meta	call_argsZ_transfer_coordinatorZsubmitDeleteObjectTaskr   r   r   )selfr   Zrequest_executorZtransfer_futurekwargsr    r   5/tmp/pip-unpacked-wheel-6hpttf6a/s3transfer/delete.py_submit   s    zDeleteSubmissionTask._submitN)__name__
__module____qualname____doc__r   r   r   r   r   r      s   r   c                   @   s   e Zd Zdd ZdS )r   c                 C   s   |j f ||d| dS )aV  

        :param client: The S3 client to use when calling DeleteObject

        :type bucket: str
        :param bucket: The name of the bucket.

        :type key: str
        :param key: The name of the object to delete.

        :type extra_args: dict
        :param extra_args: Extra arguments to pass to the DeleteObject call.

        )ZBucketZKeyN)Zdelete_object)r   r   r   r   r   r   r   r   _main8   s    zDeleteObjectTask._mainN)r   r   r   r   r   r   r   r   r   7   s   r   N)Zs3transfer.tasksr   r   r   r   r   r   r   r   <module>   s   '