
    gj                         d Z ddlmZ ddlmZ ddlZddlmZmZm	Z	m
Z
  e
j        e          Zddedeeeeef                  z  d	ed
edz  def
dZdej        dedz  fdZdS )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              #     K   t                      }|                    | |||          }t          |           |                                E d{V  t	          |          }|lt
                              d|            t          d|||          }t          |           |                                E d{V  t	          |          }|jdS dS )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          e/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/huggingface_hub/utils/_pagination.pypaginater      s       mmGD'JJAvvxx q!!I

N9NNOOO	7GLLLA6688"1%%	 




    responsec                 ^    | j                             di                               d          S )Nnexturl)linksr   )r   s    r   r   r   3   s(    >fb))--e444r   )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 A $ $ $ $ $ $        E E E E E E E E E E E E 
	H	%	%& &3 &tE#s(O'< < &t &V[^bVb &nv & & & &05U^ 5d
 5 5 5 5 5 5r   