
    <#                     t    S SK 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	5      r SS
 jrg)    N)
xform_name)OrderedDict)DocumentStructure)document_model_driven_method)DocumentedShape)get_service_module_namec                   ,    \ rS rSrS rS rS rS rSrg)PaginatorDocumenter   c                     Xl         U R                   R                  R                  U l        U R                   R                  R
                  R                  U l        X l        X0l	        SU l
        g )NzMhttps://boto3.amazonaws.com/v1/documentation/api/latest/guide/paginators.html)_client	__class____name___client_class_namemetaservice_modelservice_name_service_name_service_paginator_model_root_docs_path_USER_GUIDE_LINK)selfclientservice_paginator_modelroot_docs_paths       *lib/third_party/botocore/docs/paginator.py__init__PaginatorDocumenter.__init__   sW    "&,,"8"8"A"A!\\..<<II(?%-@ 	    c                 L   UR                   R                  S5        U R                  U5        UR                   R                  5         UR	                  S5        UR                   R                  5         [        U R                  R                  5      nU H  nUR                   R                  U R                   SU 35        [        USS9nU R                  XC5        [        R                  R                  U R                   U R                  S5      nUR#                  XS5        M     g)zXDocuments the various paginators for a service

param section: The section to write to.

PaginatorszThe available paginators are:z/paginator/html)target	paginatorN)styleh2_add_overviewnew_linewritelntoctreesortedr   _paginator_configtocitemr   r   _add_paginatorospathjoinr   write_to_file)r   sectionpaginator_namespaginator_namepaginator_doc_structurepaginator_dir_paths         r   document_paginators'PaginatorDocumenter.document_paginators#   s    
 	&7# 78 ));;

 .NMM!!%%&k.1AB '8v'#  7H "$$$d&8&8+" $11" .r   c                    UR                  S5      nUR                  R                  U R                  SU R                   35        UR                  SU 35        UR                  U5        UR                  U5      nUR                  R                  U R                   SU 3S9  UR                  R                  5         UR                  R                  5         UR                  S[        U5       S35        UR                  R                  5         UR                  R                  5         U R                  R                  U5      n[        UUU R                  R                   R"                  U R                  R                   R$                  US9  g )	N
breadcrumbz../../z / Paginator / z.Paginator.)
class_namez"paginator = client.get_paginator('z'))r3   r5   event_emitterr   paginator_config)add_new_sectionr%   refr   r   writeadd_title_sectionstart_sphinx_py_classstart_codeblockr(   r   end_codeblockr   get_paginatordocument_paginate_methodr   r   eventsr   )r   r3   r5   breadcrumb_sectionpaginator_sectionr>   s         r   r.   "PaginatorDocumenter._add_paginatorE   si   $44\B  $$##vd.@.@-A%B	
 	  ?>2B!CD!!.1 $33NC55**+;~6FG 	6 	

 	//1((* 	0N1K0LBO	
 	--/((*88FF
 	!%),,++22,,++99-	
r   c                     UR                   R                  5         UR                  S5        UR                   R                  SU R                  S9  UR                  S5        UR                   R                  5         g )NzPaginators are available on a client instance via the ``get_paginator`` method. For more detailed instructions and examples on the usage of paginators, see the paginators z
user guide)titlelink.)r%   r(   rA   external_linkr   )r   r3   s     r   r'   !PaginatorDocumenter._add_overviewi   sf     	
 	##&& 	$ 	
 	c r   )r   r   r   r   r   r   N)	r   
__module____qualname____firstlineno__r   r8   r.   r'   __static_attributes__ r   r   r
   r
      s    	
 D"
H!r   r
   c                    UR                  U5      n[        5       n[        SSSS9US'   UR                  SS5      (       a  [        SSSS9US'   [        S	S
SS9US	'   [        SSSUS9/n[        SS
SS9/n	/ n
[	        US   [
        5      (       a  XS   -  n
OU
R                  US   5        UR                  SS5      (       a  U
R                  US   5        / n[	        US   [
        5      (       a  XS   -  nOUR                  US   5        SR                  [        U5      [        U5      5      n[        U SUUUSUU	U
UUS9  g)a  Documents the paginate method of a paginator

:param section: The section to write to

:param paginator_name: The name of the paginator. It is snake cased.

:param event_emitter: The event emitter to use to emit events

:param service_model: The service model

:param paginator_config: The paginator config associated to a particular
    paginator.

:param include_signature: Whether or not to include the signature.
    It is useful for generating docstrings.
MaxItemsintegerz<p>The total number of items to return. If the total number of items available is more than the value specified in max-items then a <code>NextToken</code> will be provided in the output that you can use to resume pagination.</p>)name	type_namedocumentation	limit_keyNPageSizez<p>The size of each page.<p>StartingTokenstringzq<p>A token to specify where to start paginating. This is the <code>NextToken</code> from a previous response.</p>PaginationConfig	structurezC<p>A dictionary that provides parameters to control pagination.</p>)rZ   r[   r\   members	NextTokenz$<p>A token to resume pagination.</p>input_tokenoutput_tokenzVCreates an iterator that will paginate through responses from :py:meth:`{}.Client.{}`.paginatez&response_iterator = paginator.paginate)r=   method_descriptionexample_prefixinclude_inputinclude_outputexclude_inputexclude_outputinclude_signature)operation_modelr   r   get
isinstancelistappendformatr   r   r   )r3   r5   r=   r   r>   rn   ro   pagination_config_membersbotocore_pagination_params#botocore_pagination_response_paramsservice_pagination_params"service_pagination_response_paramspaginate_descriptions                r   rG   rG   y   s   2 $33NCO
 !,,;%	
-j) K..0?81
!*- 2A	2o. 	#!" .	

" 	A	
+' !# "=1488!m%DD!!(()9-)HI K..!(()9+)FG *,&">2D99*~.NN**11^,	

	((.#M2J~4N)
  !#/?0:/9+r   )T)r/   botocorer   botocore.compatr   botocore.docs.bcdoc.restdocr   botocore.docs.methodr   botocore.docs.utilsr   botocore.utilsr   r
   rG   rV   r   r   <module>r      s4    
  ' 9 = / 2_! _!P zr   