
    K                         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
 r " S S\R                  5      rg)z9Argcomplete completers for various config related things.    )absolute_import)division)unicode_literals)
completers)module_util)
properties)named_configsc                    [         R                  R                  5       n/ nSU ;   a  U R                  SS5      nUS   nUS   n XR;   am  US-   n[         R                  R	                  U5      R                  5       nUR                  U Vs/ s H  oR                  U 5      (       d  M  Xh-   PM      sn5        U$ UR                  U V	s/ s H  oR                  U 5      (       d  M  U	S-   PM!     sn	5        [         R                  R                  R                  n[         R                  R	                  U5      R                  5       nUR                  U Vs/ s H  oR                  U 5      (       d  M  UPM     sn5        U$ s  snf s  sn	f s  snf )z8An argcomplete completer for property and section names./   r   )
r   VALUESAllSectionssplitSectionAllPropertiesextend
startswithdefault_sectionname)
prefixunused_kwargsall_sectionsoptionspartssectionsection_strpropspss
             3lib/googlecloudsdk/command_lib/config/completers.pyPropertiesCompleterr!      s=   ""..0,'F]LLa EAhG1XFcMk''0>>@ennuMu!V8LokouMN 
. NN\J\\\&5IGAG\JK//44G%%g.<<>ENNu=u!V(<Au=>	. N K >s$   	E?&E?F#	FF	0F	c                     [        [        R                  R                  5       R	                  5       5      nU Vs/ s H  o3R                  U 5      (       d  M  UPM     sn$ s  snf )z@An argcomplete completer for existing named configuration names.)listr	   ConfigurationStore
AllConfigskeysr   )r   r   configscs       r    NamedConfigCompleterr)   5   sE    11<<>CCEF'	5WV 4!W	55	5s   A A c                   (    \ rS rSrSrS rSS jrSrg)PropertyValueCompleter;   zsA completer for a specific property value.

The property value to be completed is not known until completion time.
c                    [         R                  R                  R                  R	                  S5        UR                  S5      nU(       d  g [         R                  " U5      nU(       d  g UR                  (       a4  UR                   Vs/ s H  oUR                  U5      (       d  M  UPM     sn$ UR                  (       aA  [        R                  " UR                  5      nU" U R                  S9nUR                  X5      $ g s  snf )NTproperty)cache)r   r   coreprint_completion_tracebacksSetGetValue
FromStringchoicesr   	completerr   ImportModuler/   Complete)selfr   parameter_info	prop_namepropr(   completer_classr6   s           r    r8   PropertyValueCompleter.CompleteA   s    66::4@''
3I  +D||>Af)=a>>~~#00@o!

3i77  ?s   
D'DNc                     AAg)z#No completion cache for properties.N )r9   r:   aggregationss      r    UpdatePropertyValueCompleter.UpdateY   s        r@   )NN)__name__
__module____qualname____firstlineno____doc__r8   rB   __static_attributes__r@   rD   r    r+   r+   ;   s    
0%rD   r+   N)rI   
__future__r   r   r   googlecloudsdk.command_lib.utilr   googlecloudsdk.corer   r   "googlecloudsdk.core.configurationsr	   r!   r)   	Converterr+   r@   rD   r    <module>rP      s<     @ &  ' 6 + * <26 %Z11  %rD   