o
    ?Zc                     @   s^   d Z dZzddlmZ ddlmZ W n ey$   ddlmZ e ZY nw G dd deZdS )zObject Utilities.)cached_property    )
_NOT_FOUND)threaded_cached_propertyc                       sP   e Zd ZdZd fdd	Zd fdd	Zdd Zd	d
 Zdd Zdd Z	  Z
S )r   z"Implementation of Cached property.Nc                    s4   t  | || _|| _t| ds| jj| _d S d S )Nattrname)super__init___cached_property__set_cached_property__delhasattrfunc__name__r   )selffgetfsetfdel	__class__ I/var/www/chikooza/env/lib/python3.10/site-packages/kombu/utils/objects.pyr      s   
zcached_property.__init__c                    s   t  ||S N)r   __get__)r   instanceownerr   r   r   r      s   zcached_property.__get__c                 C   s^   |d u r| S | j  | jd ur| ||}|j}||| j< W d    d S 1 s(w   Y  d S r   )lockr   __dict__r   )r   r   valuecacher   r   r   __set__    s   
"zcached_property.__set__c                 C   s   |d u r| S | j . |j| jt}| jr'|tur/| || W d    d S W d    d S W d    d S 1 s:w   Y  d S r   )r   r   popr   r   r	   )r   r   r   r   r   r   
__delete__+   s   "zcached_property.__delete__c                 C   s   |  | j|| jS r   )r   r   r	   )r   r   r   r   r   setter5      zcached_property.setterc                 C   s   |  | j| j|S r   )r   r   r   )r   r   r   r   r   deleter8   r!   zcached_property.deleter)NNNr   )r   
__module____qualname____doc__r   r   r   r   r    r"   __classcell__r   r   r   r   r      s    	
r   N)	r%   __all__	functoolsr   r   _cached_propertyImportErrorr   objectr   r   r   r   <module>   s    
