
    J
                     `    d Z ddlm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      Z	d	 Z
y
)#Factory class for RayBatch message.    )absolute_import)division)unicode_literals)flags)local_file_uploaderc                       e Zd ZdZd Zd Zy)RayBatchFactoryr   c                     || _         y)zXFactory class for RayBatch message.

    Args:
      dataproc: A Dataproc instance.
    N)dataproc)selfr   s     Dlib/googlecloudsdk/command_lib/dataproc/batches/ray_batch_factory.py__init__zRayBatchFactory.__init__   s     DM    c                 |   i }|j                   r|j                   |d<   i }|j                  g|d<   t        j                  |      r7|j                  st        d      t        j                  |j                  |      }|d   d   |d<   |j                  |        | j                  j                  j                  di |S )a  upload user local files and creates a RayBatch message.

    Upload user local files and point URIs to the local files to the uploaded
    URIs.
    Creates a RayBatch message from parsed arguments.

    Args:
      args: Parsed arguments.

    Returns:
      RayBatch: A RayBatch message.

    Raises:
      AttributeError: Bucket is required to upload local files, but not
      specified.
    argsmainPythonFileUriz --deps-bucket was not specified.r    )r   MAIN_PYTHON_FILEr   HasLocalFilesdeps_bucketAttributeErrorUploadupdater   messagesRayBatch)r   r   kwargsdependenciess       r   UploadLocalFilesAndGetMessagez-RayBatchFactory.UploadLocalFilesAndGetMessage%   s    " FyyyyfVnL *.)>)>(?L$%((6?@@(//0@0@,Ol )55H(I!(LL$% MM,*4==!!**4V44r   N)__name__
__module____qualname____doc__r   r   r   r   r   r
   r
      s    +'5r   r
   c                     t        j                  |        t        j                  |        t        j                  |        y)z+Adds arguments related to RayBatch message.N)r   AddMainPythonFileAddArgs	AddBucket)parsers    r   AddArgumentsr)   O   s*    &!-- //&r   N)r#   
__future__r   r   r   #googlecloudsdk.command_lib.dataprocr   r   objectr
   r)   r   r   r   <module>r-      s+     * &  ' 5 C25f 25jr   