
    [
                        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K	J
r
  SSK	Jr  S	r " S
 S\R                  \
R                  5      rS\\\\4      S\\\\4      4S jrS\\\\\4   4   S\\\\4      4S jrg)GA printer for rollouts that sorts fields according to stage assignment.    )absolute_import)division)unicode_literals)Any)encoding)custom_printer_base)resource_printerrolloutc                   $    \ rS rSrSrS rS rSrg)RolloutPrinter    r   c                     [         R                  R                  " U /UQ70 UD6  [        R                  R                  " U /UQ70 UD6  g )N)r	   CustomPrinterBase__init__r
   DefaultPrinter)selfargskwargss      Jlib/googlecloudsdk/command_lib/container/fleet/rollouts/rollout_printer.pyr   RolloutPrinter.__init__&   s>    ))224I$I&I##,,TCDCFC    c                     [         R                  " U5      nSU;   a  [        US   5      US'   SU;   a  [        US   5      US'   U$ )NclusterStatusmembershipStates)r   MessageToDict_sort_cluster_status_by_wave _sort_membership_states_by_stage)r   recordr   s      r   	TransformRolloutPrinter.Transform*   s[    $$V,G'!!=
/
""go W$$D
$
%%g ! Nr    N)__name__
__module____qualname____firstlineno____doc__r   r    __static_attributes__r"   r   r   r   r       s     PD
r   r   cluster_statusreturnc                 >     [        U S S9$ ! [         a    U s $ f = f)z4Sorts a list of cluster statuses by wave assignment.c                     U S   $ )NwaveAssignmentr"   )ss    r   <lambda>._sort_cluster_status_by_wave.<locals>.<lambda>>   s
    2B0Cr   key)sortedKeyError)r)   s    r   r   r   9   s*    .&CDD	 s   
 membership_statesc                     U R                  5        H	  u  pXS'   M      [        U R                  5       S S9$ ! [         a    [	        U R                  5       5      s $ f = f)zHSorts a map of membership states by stage assignment and returns a list.
membershipc                     U S   $ )NstageAssignmentr"   )mss    r   r/   2_sort_membership_states_by_stage.<locals>.<lambda>L   s
    26G3Hr   r1   )itemsr3   valuesr4   list)r5   mr.   s      r   r   r   C   sg      %%'dalO (,  "(H  
 ,!((*++,s   8 #AAN)r'   
__future__r   r   r   typingr   apitools.base.pyr   googlecloudsdk.core.resourcer	   r
   ROLLOUT_PRINTER_FORMATr   r   r   r>   dictstrr   r   r"   r   r   <module>rG      s     N '  '  % < 9" ##))2c3h(	$sCx.,Cc3h/0,	$sCx.,r   