File: //proc/self/root/lib64/python3.6/site-packages/ldap/__pycache__/ldapobject.cpython-36.pyc
3
�`a�� � @ s@ d Z ddlmZ ddlmZ ddlmZmZmZ ddddgZ dd l
Z
dd lZdd lZdd l
Z
dd lZdd lZdd lZdd lZdd lZdd
lmZ ddlmZmZmZ ddlmZmZmZ dd
lmZ ddlmZ ej d dkZ!e!r�e"Z#ne$Z#dZ%G dd� de&�Z'dd� Z(G dd� dej)�Z*G dd� d�Z+G dd� de+�Z,e+Z-d S )z]
ldapobject.py - wraps class _ldap.LDAPObject
See https://www.python-ldap.org/ for details.
� )�unicode_literals)�strerror)�__version__�
__author__�__license__�
LDAPObject�SimpleLDAPObject�ReconnectLDAPObject�LDAPBytesWarningN)�SCHEMA_ATTRS)�LDAPControl�DecodeControlTuples�RequestControlTuples)�ExtendedRequest�ExtendedResponse�PasswordModifyResponse)�reraise)� LDAPError� Tc @ s e Zd ZdZdS )r
z!python-ldap bytes mode warning
N)�__name__�
__module__�__qualname__�__doc__� r r �"/usr/lib64/python3.6/ldapobject.pyr
- s c
C sj d}y
t j}W n tk
r" Y n0X t j|�}x"|rP|jjd�rP|d7 }|j}q0W tj| t|d d� dS )zRaise LDAPBytesWarning
r �_LDAP_WARN_SKIP_FRAME� )�
stacklevelN) �sys� _getframe�AttributeError� f_globals�get�f_back�warnings�warnr
)�messager Zgetframe�framer r r �_raise_byteswarning1 s
r( c @ s e Zd ZdZdS )�NO_UNIQUE_ENTRYz�
Exception raised if a LDAP search returned more than entry entry
although assumed to return a unique single search result.
N)r r r r r r r r r) F s r) c
@ sT e Zd ZdZejejejejej ej
ejejej
d� Zd�dd�Zdd � Zd
d� Zdd
� Zdd� Zdd� Zd�dd�Zd�dd�Zdd� Zdd� Zdd� Zdd� Zd�d d!�Zd"d#� Zd�d$d%�Zd�d&d'�Zd�d(d)�Zd�d*d+�Z d,d-� Z!d.d/� Z"d�d0d1�Z#d�d2d3�Z$ej%fd4d5�Z&ej%fd6d7�Z'ddej(fd8d9�Z)ddej(dfd:d;�Z*ddej(dfd<d=�Z+ddej(dfd>d?�Z,d�d@dA�Z-d�dBdC�Z.d�dDdE�Z/dFdG� Z0dHdI� Z1d�dJdK�Z2d�dLdM�Z3dNdO� Z4dPdQ� Z5d�dRdS�Z6ej7dTdfdUdV�Z8d�dWdX�Z9d�dYdZ�Z:d�d[d\�Z;d]d^� Z<d_d`� Z=d�dadb�Z>d�dcdd�Z?d�dedf�Z@d�dgdh�ZAd�didj�ZBd�dkdl�ZCej7dTdfdmdn�ZDej7dTdfdodp�ZEej7dTddfdqdr�ZFej7dTdddddfdsdt�ZGd�dudv�ZHd�dwdx�ZId�dydz�ZJd�d{d|�ZKd�d}d~�ZLdd�� ZMd�d�d��ZNd�d�d��ZOd�d�� ZPd�d�� ZQd�d�d��ZRd�d�� ZSd�d�� ZTd�d�d��ZUd�d�d��ZVd�d�d��ZWejXdddddd�fd�d��ZYd�d�d��ZZd�d�� Z[dS )�r z�
This basic class wraps all methods of the underlying C API object.
The arguments are same as for the :func:`~ldap.initialize()` function.
) �protocol_versionZderefZ referralsZ timelimit� sizelimitZnetwork_timeoutZerror_numberZerror_stringZ
matched_dnr N� c C s� |pt j| _|pt j| _|| _|| _| jd�| _|d k rvttd�sJt d��t|d�r\|j
� }t jjt j
tj||�| _nt jjt j
tj|�| _d| _t j| _tr�|d kr�d}|d kr�td� d}q�|d kr�d }n|r�t d
��d}d }|| _|| _d S )
NZopcall�
initialize_fdz&libldap does not support initialize_fd�filenor Tz�Under Python 2, python-ldap uses bytes by default. This will be removed in Python 3 (no bytes for DN/RDN/field names). Please call initialize(..., bytes_mode=False) explicitly.r% �errorz-bytes_mode is *not* supported under Python 3.F���)�ldap�_trace_level�_trace_file�_trace_stack_limit�_uri�
_ldap_lock�_ldap_object_lock�hasattr�_ldap�
ValueErrorr. � functions�_ldap_function_call�_ldap_module_lockr- �_l�
initialize�timeoutZVERSION3r* �PY2r( �
bytes_mode�bytes_strictness)�self�uri�trace_level�
trace_file�trace_stack_limitrB rC r. r r r �__init__` s<