
                             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rSSKJr  SS	/r	S
r
SrS\
-
  rSrSr " S S\5      rS rS rg)z=Module defining help types and providers for gsutil commands.    )absolute_import)print_function)division)unicode_literalsN)CommandExceptioncommand_helpadditional_help   
   P   z
<B>DESCRIPTION</B>z
<B>SYNOPSIS</B>c                   F    \ rS rSrSr\R                  " S/ SQ5      rSrSr	g)HelpProvider(   zInterface for providing help.HelpSpec)	help_namehelp_name_aliases	help_typehelp_one_line_summary	help_textsubcommand_help_textN )
__name__
__module____qualname____firstlineno____doc__collections
namedtupler   	help_spec__static_attributes__r       &platform/gsutil/gslib/help_provider.pyr   r   (   s&    % ##	($ )r!   r   c           
         [        U R                  R                  5      nUS:  a
  U[        :  d-   SR	                  U R                  R                  [        S95       eU R                  R
                   H  nU(       a  M   e   [        U R                  R                  5      nU[        :  d.   SR	                  U R                  R                  U[        S95       eU[        ::  d.   SR	                  U R                  R                  U[        S95       e[        U R                  R                  5      S:  d(   S	R	                  U R                  R                  S
95       eU R                  R                  /nUR                  U R                  R
                  5        U H5  nXa;   d  M
  [        SU< SU R                  < SX   R                  < 35      e   g)zGHelper for checking that a HelpProvider has minimally adequate content.   z.The help name "{text}" must be less then {max})textmaxzZThe one line summary "{text}" with a length of {length} must be more then {min} characters)r%   lengthminzZThe one line summary "{text}" with a length of {length} must be less then {max} characters)r%   r'   r&   r   z+The length of "{text}" must be less then 10)r%   zDuplicate help name/alias "z " found while loading help from z'. That name/alias was already taken by N)lenr   r   MAX_HELP_NAME_LENformatr   r   MIN_ONE_LINE_SUMMARY_LENMAX_ONE_LINE_SUMMARY_LENr   extendr   r   )help_providerhelp_name_maphelp_name_lenhnaone_line_summary_lenname_check_listname_or_aliass          r"   SanityCheckr6   D   s    m--778-
!
0A A L<CC))339J D LL
A $$66c3J3 7]44JJK
":
: (#$*F&&<<%& %+ %((
: ":
: (#$*F&&<<%& %+ %((
: 
]$$.. 

 8AHH",,66 I 88 

 #,,667/00BBC&m% -22'2245 5 'r!   c                 (    [         U -   [        -   U-   $ )zCHelper for adding help text headers given synopsis and description.)SYNOPSIS_PREFIXDESCRIPTION_PREFIX)synopsisdescriptions     r"   CreateHelpTextr<   j   s    	8	#&8	8;	FFr!   )r   
__future__r   r   r   r   r   gslib.exceptionr   ALL_HELP_TYPESr*   r,   r-   r9   r8   objectr   r6   r<   r   r!   r"   <module>rA      si    D & %  '  , "34    11  6 8#5LGr!   