
                         >    S r SSKJr  SSKJr  SSKJr  SSKrSS jrg)zUtility for DM labels.    )absolute_import)division)unicode_literalsNc           	      f   U(       d	  U(       d  U $ 0 nU (       a!  U  H  nUR                   XER                  '   M     U(       a  UR                  U5        U(       a  U H  nUR                  US5        M     [	        [
        R                  " U5      5       VVs/ s H  u  pgU" XgS9PM     snn$ s  snnf )aV  Returns a list of label protos based on the current state plus edits.

Args:
  labels: The current label values.
  labels_proto: The LabelEntry proto message class.
  update_labels: A dict of label key=value edits.
  remove_labels: A list of labels keys to remove.

Returns:
  A list of label protos representing the update and remove edits.
N)keyvalue)r   r   updatepopsortedsix	iteritems)labelslabels_protoupdate_labelsremove_labels
new_labelslabelr   r   s           :lib/googlecloudsdk/api_lib/deployment_manager/dm_labels.pyUpdateLabelsr      s     
}M* #kkj  m$ nnS$  s}}Z89
9*# s(9
  
s   B-)NN)__doc__
__future__r   r   r   r   r        r   <module>r      s     &  ' 
#r   