
                         p    d Z ddlmZ ddlmZ ddlmZ ddlmZmZmZm	Z	 ddl
mZ ddlmZ  G d d	      Zy
)zDModule for storing converters to be used in the remediation intents.    )absolute_import)division)unicode_literals)MappingSequenceAnyDict)sps_api)basec                       e Zd ZdZej
                  j                  fdZdee	e	f   de
e   fdZde
e   dee	e	f   fdZy)	RemediationIntentConverterz5Converter related to the Remediation Intent resource.c                 8    t        j                  |      | _        y)z~Initializes the RemediationIntentConverter.

    Args:
      release_track: The release track to use for the API version.
    N)r
   GetMessagesModulemessages)selfrelease_tracks     @lib/googlecloudsdk/api_lib/scc/remediation_intents/converters.py__init__z#RemediationIntentConverter.__init__   s     --m<DM    
files_dictreturnc                     |j                         D cg c]"  \  }}| j                  j                  ||      $ c}}S c c}}w )zConverts a dictionary of files with their content to the message.

    Args:
      files_dict: A dictionary of files with their content. [path: content]

    Returns:
      List of message of type [securityposture.messages.FileData]
    filePathfileContent)itemsr   FileData)r   r   pathcontents       r   DictFilesToMessagez-RemediationIntentConverter.DictFilesToMessage&   sJ     (--//MD' 	'B/  s   '?
files_datac                 X    |D ci c]  }|j                   |j                   }}|S c c}w )zConverts a list of file messages to a dictionary.

    Args:
      files_data: A list of file messages. [securityposture.messages.FileData]

    Returns:
      A dictionary of files with their content. [path: content]
    r   )r   r!   	file_dataresults       r   MessageFilesToDictz-RemediationIntentConverter.MessageFilesToDict4   sA     $#I 	I111#   M	s   'N)__name__
__module____qualname____doc__r   ReleaseTrackALPHAr   r   strr   r   r    r%    r   r   r   r      sY    =#'#4#4#:#: =738+< # 8C= WS#X=N r   r   N)r)   
__future__r   r   r   typingr   r   r   r	   .googlecloudsdk.api_lib.scc.remediation_intentsr
   googlecloudsdk.callioper   r   r-   r   r   <module>r2      s*    K &  ' / / B (& &r   