U
    {®Þ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k
rL   tdƒ‚Y nX z6|sXdntd|ƒ}t|j d|¡ƒ}|dk r‚tƒ ‚W n tk
r    tdƒ‚Y nX |rº||krºtd| ƒ‚|}|| }	|| _| 	¡ | _
|||	… S )	NZ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)
ÚselfZquerysetÚrequestr   Z	limit_maxr
   Zlimit_defaultr   ÚstartÚstop© r   úa/var/www/dating/data/www/fatepal.com/env/lib/python3.8/site-packages/wagtail/api/v2/pagination.pyÚpaginate_queryset   s*    


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   Zdjango.confr   Zrest_framework.paginationr   Zrest_framework.responser   Úutilsr   r   r   r   r   r   Ú<module>   s
   