ó
    €Ï+  ã                   ó†   • S r SSKJr  SSKJr  SSKJr  SSKJr   " S S\R                  5      r       SS	 jr	 SS
 jr
g)z>Templates for bundles of arguments surrounding a single field.é    )Úabsolute_import)Údivision)Úunicode_literals)Úarg_parsersc                   ó   • \ rS rSrSrSrg)ÚHashDelimitedArgListé   Ú#© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚDEFAULT_DELIM_CHARÚ__static_attributes__r   ó    Ú8lib/googlecloudsdk/command_lib/apigee/argument_groups.pyr   r      s   † ØÓr   r   Nc                 ó„  • U R                  5       nUR                  US9nUR                  SUR                  5       R	                  SS5      -   U	(       a  [
        R                  OSU=(       d1    U	(       a  [
        R                  " 5       O[
        R                  " 5       U
(       a  SU
-   OSSU< S	U< S
3U=(       d     UR                  5       R	                  SS5      S9  UR                  SUR                  5       R	                  SS5      -   SU=(       d    [
        R                  " 5       U
(       a  SU
-   OSSU< SU< S
3U=(       d     UR                  5       R	                  SS5      S9  UR                  U(       a  UO"SUR                  5       R	                  SS5      -   SU
(       a  SU
-   OSU(       a  UOSU-  S9  g)az  Adds arguments to `parser` for modifying a list field.

A generic implementation of the style guidelines at
go/gcloud-style#createupdate-command-flags.

Args:
  parser: the ArgumentParser to which the arguments will be added.
  singular: singular form of the name of the field to be modified.
  plural: singular form of the name of the field to be modified.
  category_help: help text for the commands as a whole. Should explain what
    the field itself is.
  add_metavar: text to use as a placeholder in the add argument.
  remove_metavar: text to use as a placeholder in the remove argument.
  clear_arg: what to name the argument that clears the list.
  clear_help: help text for the argument that clears the list.
  collector_type: type for the add and remove arguments.
  dict_like: whether the list field has keys and values.
  dest: suffix for fields in the parsed argument object.
)Úhelpz--add-Ú Ú-ÚappendÚadd_NzAdds a new z to the set of Ú.)ÚactionÚtypeÚdestr   Úmetavarz	--remove-Úremove_zRemoves an existing z from the set of ú--clear-Ú
store_trueÚclear_zRemoves all %s.)r   r   r   )
Úadd_mutually_exclusive_groupÚadd_argument_groupÚadd_argumentÚlowerÚreplacer   ÚUpdateActionÚArgDictÚArgListÚupper)ÚparserÚsingularÚpluralÚcategory_helpÚadd_metavarÚremove_metavarÚ	clear_argÚ
clear_helpÚcollector_typeÚ	dict_liker   Úmutex_groupÚadd_remove_groups                r   ÚAddEditableListArgumentr8      s|  € ð< ×3Ñ3Ó5€+Ø ×3Ñ3¸Ð3ÐGÐØ×ÑØ—‘Ó!×)Ñ)¨#¨sÓ3Ñ3Þ)2Œ[×%Ò%¸Ø÷ FÞ )„{×ÒÔ¬{×/BÒ/BÓ/DÞ ˆ6DŠ= døÛ08»&ÐAØ×?˜XŸ^™^Ó-×5Ñ5°c¸3Ó?ð  ñ Að ×ÑØH—N‘NÓ$×,Ñ,¨S°#Ó6Ñ6ØØ×2œ[×0Ò0Ó2Þ#ˆ9tÒ¨øÛ;CÃVÐLØ×B §¡Ó 0× 8Ñ 8¸¸cÓ Bð  ñ Dð ×ÑÞi *¨v¯|©|«~×/EÑ/EÀcÈ3Ó/OÑ"OØÞ"ˆ8dŠ?¨Þ#‰:Ð):¸VÑ)Cð	 ò Er   c           	      óð   • U R                  5       nUR                  " SU-   4USU=(       d    UR                  SS5      -   S.UD6  UR                  SU-   SU=(       d    UR                  SS5      -   USS	9  g
)a#  Adds arguments to `parser` for modifying or clearing a text field.

A generic implementation of the style guidelines at
go/gcloud-style#createupdate-command-flags.

Args:
  parser: the ArgumentParser to which the arguments will be added.
  name: name of the field to be modified.
  set_help: help text for the argument that sets the field. Should explain
    what the field itself is.
  clear_help: help text for the argument that clears the field.
  dest: suffix for destiantion fields.
  **kwargs: additional parameters for the setter argument.
z--Úset_r   Ú_)r   r   r    r"   r!   )r   r   r   N)r#   r%   r'   )r,   ÚnameÚset_helpr3   r   Úkwargsr6   s          r   ÚAddClearableArgumentr?   R   sŒ   € ð( ×3Ñ3Ó5€+Ø×ÒØ
ˆTkðàØT×3˜TŸ\™\¨#¨sÓ3Ñ4ñð 	ò	ð
 ×ÑØ4ÑØt×5˜tŸ|™|¨C°Ó5Ñ6ØØð	 ò r   )NNNNNFN)N)Ú__doc__Ú
__future__r   r   r   Úgooglecloudsdk.callioper   r*   r   r8   r?   r   r   r   Ú<module>rC      sQ   ðñ Eå &Ý Ý 'å /ô˜;×.Ñ.ô ð )-Ø+/Ø&*Ø'+Ø+/Ø&+Ø!%ô3Eðt #õ	r   