o
    ËÉhI  ã                   @   sP   d dl mZ d dlmZ d dlmZ d dlmZ ddlm	Z	 G dd„ deƒZ
d	S )
é    )ÚOrderedDict)Úsettings)ÚBasePagination)ÚResponseé   )ÚBadRequestErrorc                   @   s   e Zd Zddd„Zdd„ ZdS )ÚWagtailPaginationNc           
      C   sÖ   t tddƒ}zt|j dd¡ƒ}|dk rtƒ ‚W n ty#   tdƒ‚w z|s)dntd|ƒ}t|j d|¡ƒ}|dk r>tƒ ‚W n tyJ   tdƒ‚w |rW||krWtd| ƒ‚|}|| }	|| _| 	¡ | _
|||	… S )	NÚWAGTAILAPI_LIMIT_MAXé   Úoffsetr   z!offset must be a positive integerÚlimitz limit must be a positive integerzlimit cannot be higher than %d)Úgetattrr   ÚintÚGETÚgetÚ
ValueErrorr   ÚminÚviewÚcountÚtotal_count)
ÚselfÚquerysetÚrequestr   Ú	limit_maxr   Úlimit_defaultr   ÚstartÚstop© r   úY/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/api/v2/pagination.pyÚpaginate_queryset   s2   ÿÿÿÿ
z#WagtailPagination.paginate_querysetc                 C   s(   t dt d| jfgƒfd|fgƒ}t|ƒS )NÚmetar   Úitems)r   r   r   )r   Údatar   r   r   Úget_paginated_response'   s   ÿÿþ÷ÿz(WagtailPagination.get_paginated_response)N)Ú__name__Ú
__module__Ú__qualname__r   r#   r   r   r   r   r   
   s    
r   N)Úcollectionsr   Údjango.confr   Úrest_framework.paginationr   Úrest_framework.responser   Úutilsr   r   r   r   r   r   Ú<module>   s    