
    
                     X    S r SSKJr  SSKJr  SSKJr  SSKrS rS rS
S jr  SS	 jr	g)zEConvenience utilities for manipulating collection and resource names.    )absolute_import)division)unicode_literalsNc                     / SQnSnU H.  u  p4U R                  U5      (       d  M  U R                  X45      nM0     U(       d  U nU S   S:X  a  USS nU$ )3Convert the input collection name to singular form.))ciescy)xiesxy)riesry)xesx)essesessNs)endswithreplace)collection_nameending_pluralssingular_collection_nameplural_suffixreplacement_singulars        'lib/googlecloudsdk/core/name_parsing.pysingularizer      sl    4.!-;)m..!0!8!8
"/ .< 
".rc!!9#2!>	!!    c                    [         R                  " SU 5      (       a  [         R                  " SSU 5      $ [         R                  " SU 5      (       a  [         R                  " SSU 5      $ [         R                  " SU 5      (       a  [         R                  " SSU 5      $ [         R                  " SU 5      (       a  [         R                  " SS	U 5      $ U S
-   $ )r   z[sxz]$$esz[^aeioudgkprt]h$z	[aeiou]y$zy$ysz[crx]y$iesr   )researchsub)r   s    r   	pluralizer&   (   s    YYx))66#t_--	yy#_5566#t_--	yyo..66$o..	yyO,,66$//S  r   c                 R    UR                  [        R                  " SU 5      5      nU$ )z6Split camel-cased collection names on capital letters.z[a-zA-Z][^A-Z]*)joinr#   findall)r   	delimitersplit_with_spacess      r   split_name_on_capitalsr,   6   s&    nnjj"O46	r   c                     U nSU ;   a  U R                  S5      S   nU(       a  [        U5      n[        X1S9R                  5       $ )N.r   )r*   )splitr   r,   lower)r   r*   make_singularcollection_name_modifieds       r   $convert_collection_name_to_delimitedr3   =   sN     -O.44S9"=*+CD	
55:UW=r   ) )r4   T)
__doc__
__future__r   r   r   r#   r   r&   r,   r3    r   r   <module>r8      s3    L &  ' 	" ! 477;	=r   