
    J
                     `    S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr   " S S\5      r	S	 r
g
)#Factory class for RayBatch message.    )absolute_import)division)unicode_literals)flags)local_file_uploaderc                   $    \ rS rSrSrS rS rSrg)RayBatchFactory   r   c                     Xl         g)zLFactory class for RayBatch message.

Args:
  dataproc: A Dataproc instance.
Ndataproc)selfr   s     Dlib/googlecloudsdk/command_lib/dataproc/batches/ray_batch_factory.py__init__RayBatchFactory.__init__   s	     M    c                    0 nUR                   (       a  UR                   US'   0 nUR                  /US'   [        R                  " U5      (       a=  UR                  (       d  [        S5      e[        R                  " UR                  U5      nUS   S   US'   UR                  U5        U R                  R                  R                  " S0 UD6$ )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   UploadLocalFilesAndGetMessage-RayBatchFactory.UploadLocalFilesAndGetMessage%   s    " FyyyyfVnL *.)>)>(?L$%((66?@@(//0@0@,Ol )55H(I!(LL$% MM,==!!**4V44r   r   N)__name__
__module____qualname____firstlineno____doc__r   r"   __static_attributes__r   r   r   r
   r
      s    +'5r   r
   c                     [         R                  " U 5        [         R                  " U 5        [         R                  " U 5        g)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>r3      s+     * &  ' 5 C25f 25jr   