o
    ßý°jñ  ã                
   @   s    d Z ddlmZmZ ddlmZ ddlmZmZ ddl	m
Z
 ddlmZmZmZmZmZmZmZ eedddd	d	dd
d	f
dd„Zeedddd	d	dd
d	f
dd„ZdS )Ú
é   )ÚSUBTREEÚDEREF_ALWAYS)Úsafe_dn)ÚDO_NOT_RAISE_EXCEPTIONSÚRESULT_SIZE_LIMIT_EXCEEDED)ÚLDAPOperationResult)ÚlogÚlog_enabledÚERRORÚBASICÚPROTOCOLÚNETWORKÚEXTENDEDNé    Féd   c                 c   sÀ  � | j r
|r
t|ƒ}g }d }| j}d| _d}d }|rÄ|  |||||||||	|
|||du r.d n|¡}| jjs=|  |¡\}}n| jjrH|\}}}}n| j}| j	}|d rd|rd|sX| }| j 
|d ¡\}} }q| |¡ z|d d d d }W n ty€   d }Y nw | jr¹|r¹|d tvr¹ttƒr—ttd	|| ƒ |d tkr¦|r¦| ¡ V  |sŸt|d |d
 |d |d |d d�‚|rÂ| ¡ V  |s»|s|rØ|} | jrÔ|rÔ| | jj|< n|  ¡  || _d | _d S )NFTÚ	referralsÚcontrolsz1.2.840.113556.1.4.319ÚvalueÚcookieÚresultz+paged search operation result <%s> for <%s>ÚdescriptionÚdnÚmessageÚtype)r   r   r   r   Úresponse_type)Úcheck_namesr   Úauto_referralsÚsearchÚstrategyÚsyncÚget_responseÚthread_safeÚresponser   Úcreate_referral_connectionÚextendÚKeyErrorÚraise_exceptionsr   r
   r   r	   r   Úpopr   Úuse_referral_cacheÚreferral_cacheÚunbind)Ú
connectionÚsearch_baseÚsearch_filterÚsearch_scopeÚdereference_aliasesÚ
attributesÚ
size_limitÚ
time_limitÚ
types_onlyÚget_operational_attributesr   Ú
paged_sizeÚpaged_criticalityÚ	responsesÚoriginal_connectionÚoriginal_auto_referralsr   Úcachekeyr   r#   Ú_© r=   ú”/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/ldap3/extend/standard/PagedSearch.pyÚpaged_search_generator!   sx   €
ô
ÿ
ÿ&
ÿÔ/

r?   c                 C   sP   | j r	|r	t|ƒ}g }t| |||||||||	|
||ƒD ]}| |¡ q|| _|S )N)r   r   r?   Úappendr#   )r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r   r6   r7   r8   r#   r=   r=   r>   Úpaged_search_accumulatorq   s(   
ôrA   )Ú__doc__Ú r   r   Úutils.dnr   Úcore.resultsr   r   Úcore.exceptionsr   Ú	utils.logr	   r
   r   r   r   r   r   r?   rA   r=   r=   r=   r>   Ú<module>   s8    $
ôSô