
    5pj                         S r SSKJr  SSKJr  SSKrSSKJrJrJ	r	J
r
  \
R                  " \5      rSS\S\\\\\4      -  S	\S
\S-  S\4
S jjrS\R(                  S\S-  4S jrg)z;Contains utilities to handle pagination on Huggingface Hub.    )Iterable)AnyN   )get_sessionhf_raise_for_statushttp_backoffloggingpathparamsheaderstimeoutreturnc              #   X  #    [        5       nUR                  XX#S9n[        U5        UR                  5        Sh  vN   [	        U5      nUbW  [
        R                  SU 35        [        SXbUS9n[        U5        UR                  5        Sh  vN   [	        U5      nUb  MV  gg Nj N7f)a  Fetch a list of models/datasets/spaces and paginate through results.

This is using the same "Link" header format as GitHub.
See:
- https://requests.readthedocs.io/en/latest/api/#requests.Response.links
- https://docs.github.com/en/rest/guides/traversing-with-pagination#link-header
)r   r   r   Nz+Pagination detected. Requesting next page: GET)r   r   )r   getr   json_get_next_pageloggerdebugr   )r
   r   r   r   sessionr	next_pages          ]/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/huggingface_hub/utils/_pagination.pypaginater      s      mGDJAvvx q!I

B9+NO	GLA668"1%	 
  	s(   9B*B&AB*B(B*$B*(B*responsec                 X    U R                   R                  S0 5      R                  S5      $ )Nnexturl)linksr   )r   s    r   r   r   3   s$    >>fb)--e44    )N)__doc__collections.abcr   typingr   httpx r   r   r   r	   
get_logger__name__r   strdictlisttuplefloatr   Responser    r    r   <module>r/      s    B $   E E 
		H	%&3 &tE#s(O'< < &t &V[^bVb &nv &05U^^ 5d
 5r    