
                         b    d Z ddlmZ ddlmZ ddlmZ ddlmZ  G d dej                        Zy)	'Base class for tasks that upload files.    )absolute_import)division)unicode_literals)taskc                   (     e Zd ZdZ fdZd Z xZS )
UploadTaskr   c                 T    t         t        |           || _        || _        || _        y)a5  Initializes a task instance.

    Args:
      source_resource (resource_reference.FileObjectResource): The file to
        upload.
      destination_resource (resource_reference.ObjectResource|UnknownResource):
        Destination metadata for the upload.
      length (int): The size of source_resource.
    N)superr	   __init___source_resource_destination_resource_length)selfsource_resourcedestination_resourcelength	__class__s       >lib/googlecloudsdk/command_lib/storage/tasks/cp/upload_task.pyr   zUploadTask.__init__   s)     
*d$&+D!5DDL    c                     t        || j                        st        S | j                  |j                  k(  xr4 | j                  |j                  k(  xr | j
                  |j
                  k(  S )N)
isinstancer   NotImplementedr   r   r   )r   others     r   __eq__zUploadTask.__eq__*   s]    eT^^,!7!77 	&""e&A&AA	&%r   )__name__
__module____qualname____doc__r   r   __classcell__)r   s   @r   r	   r	      s    /r   r	   N)	r   
__future__r   r   r   (googlecloudsdk.command_lib.storage.tasksr   Taskr	    r   r   <module>r%      s&    . &  ' 9 r   