
    $                     v    d Z ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlm	Z	 ddl
mZ dd	lmZ d
 Zd Zd Zy)z4Hooks function for Cloud Media Asset's transformers.    )absolute_import)division)unicode_literalsN)encoding)apis)utils)	resourcesc                    ~ t        j                  dd      }|j                  }|j                  rQt	        j
                  |j                        }t        j                  ||      }t        j                  |       ||_
        |j                  d      rCt        j                  |j                  |j                  j                        |j                  _        |S )zaReads the json file of with the transformer configs and parse the content to the request message.
mediaassetv1alphalabels)r   GetMessagesModuleTransformercreate_transformer_configs_filejsonloadsr   DictToMessager   ValidateMediaAssetMessagetransformerIsKnownAndSpecifiedr   LabelsValue)refargsreqmessagesmessage_classtransformer_configsr   s          @lib/googlecloudsdk/command_lib/media/asset/transformers/hooks.pyParseTransformerConfigFiler      s    	##L)<(&&-	))**T%I%IJ(()<mLK	##K0!CO	h'%33X))557COO	*    c                 ^    t        j                  |       j                  j                  |      S )zGet the modified resource.

  Args:
    api_version: The request release track.
    request_message: request message type in the python client.

  Returns:
    The modified resource.
  )r   	GetClientprojects_locations_transformersGet)api_versionrequest_messages     r   GetExistingResourcer'   -   s)     
	%	E	E	I	I
 r    c                    t        j                  |      }t        j                  | |       t        j                         }t        j                  |      }t
        j                  j                  d|||j                        }d|j                  v r| S t        j                  |      j                  |j                               }t        ||      S )z6Wait for operations to finish and return the resource.z*mediaasset.projects.locations.transformers)
projectsIdlocationsIdtransformersIddelete)name)r   GetApiVersionFromArgsWaitForOperation
GetProjectGetLocationr	   REGISTRYCreater   command_pathGetApiMessage1MediaassetProjectsLocationsTransformersGetRequestRelativeNamer'   )responser   r%   projectlocationresource_refr&   s          r   ProcessOutputr<   ;   s    ++D1+;/'t$(##**2%%	 + ', """O''DD((* E ,  
[/	::r    )__doc__
__future__r   r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.utilr   &googlecloudsdk.command_lib.media.assetr   googlecloudsdk.corer	   r   r'   r<    r    r   <module>rD      s1    ; &  '  % , 8 ) ;r    