
    
                     ~    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 ddlm	Z
 dZ G d	 d
ej                        Zy)z,Cloud Domains Registration-specific printer.    )absolute_import)division)print_function)unicode_literals)custom_printer_base)yaml_printerregistrationc                   8    e Zd ZdZg dZddgZd Zd Zd Zd Z	y	)
RegistrationPrinterzNPrints the Cloud Domains registration in YAML format with custom fields order.)name
createTime
domainNamestateissues
expireTimelabelsmanagementSettingsdnsSettingscontactSettingspendingContactSettingssupportedPrivacyr   r   c                 V    || j                   v rt        ||g        y t        ||d        y )N)_KNOWN_REPEATED_FIELDSsetattr)selfr	   fields      >lib/googlecloudsdk/command_lib/domains/registration_printer.py_ClearFieldzRegistrationPrinter._ClearField'   s(    +++lE2&lE4(    c                 p    | j                   D ]'  }t        ||d       }|s|j                  ||id       ) y )NFdelimit)_KNOWN_FIELDS_BY_IMPORTANCEgetattr	AddRecord)r   printerr	   r   records        r   _TransformKnownFieldsz)RegistrationPrinter._TransformKnownFields-   s:    11|UD1f	5&/59 2r   c                    | j                   D ]"  }t        ||d       s| j                  ||       $ d}|j                         rd}|j	                         D ]  }t        ||j
                        sd} |s|j                  |d       y y )NTFr!   )r#   r$   r   all_unrecognized_fields
all_fieldsr   r%   )r   r&   r	   r   finishedfs         r   _TransformRemainingFieldsz-RegistrationPrinter._TransformRemainingFields3   s    11	ud	+u- 2 H++-h$$&	qvv	& ' e4 r   c                 t    t        j                         }| j                  ||       | j                  ||       y)z,Transform a registration into a YAML output.N)ypYamlPrinterr(   r.   )r   r	   yamls      r   	TransformzRegistrationPrinter.TransformC   s.    >>Dt\2""46r   N)
__name__
__module____qualname____doc__r#   r   r   r(   r.   r3    r   r   r   r      s/    V! %&89):5 7r   r   N)r7   
__future__r   r   r   r   googlecloudsdk.core.resourcer   cpr   r0   REGISTRATION_PRINTER_FORMATCustomPrinterBaser   r8   r   r   <module>r>      s4    3 &  % ' B ;, +7".. +7r   