o
    j?                     @   sp   d Z ddlmZ ddlmZ ddlmZ ddlmZ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 )
    )datetime)Integer   )LDAPExtensionError)LDAPDNReplicaInfoRequestValue   )ExtendedOperation)decoder)safe_dnc                   @   s&   e Zd Zdd ZdddZdd ZdS )	ReplicaInfoc                 C   s   d| _ d| _t | _d| _d S )Nz2.16.840.1.113719.1.27.100.17z2.16.840.1.113719.1.27.100.18partition_dn)request_nameresponse_namer   request_valueresponse_attribute)self r   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/ldap3/extend/novell/replicaInfo.pyconfig&   s   
zReplicaInfo.configNc                 C   sD   |j r|r	t|}|rt|}t| || || jd< || jd< d S )N	server_dnr   )check_namesr   r
   __init__r   )r   
connectionr   r   controlsr   r   r   r   -   s   
zReplicaInfo.__init__c                 C   sN  | j }ztj|t d\}}t|| jd< tj|t d\}}t|| jd< tj|t d\}}tt|| jd< tj|t d\}}tt|| jd< tj|t d\}}t|| jd< tj|t d\}}t	|| jd< tj|t d\}}t|| jd< tj|t d\}}t|| jd	< W n t
y   td
w |rtdd S )N)asn1Specpartition_idreplica_statemodification_time
purge_timelocal_partition_idr   replica_typeflagszunable to decode substratezunknown substrate remaining)decoded_responser   decoder   intresultr   utcfromtimestampr   str	Exceptionr   )r   	substratedecodedr   r   r   populate_result8   s0   zReplicaInfo.populate_result)N)__name__
__module____qualname__r   r   r-   r   r   r   r   r   %   s    
r   N)__doc__r   pyasn1.type.univr   core.exceptionsr   protocol.novellr   r   	operationr
   
utils.asn1r   utils.dnr   r   r   r   r   r   <module>   s    