o
    i                     @   s   zd dl mZ d dlmZ W n ey#   d dlmZ d dlmZ Y nw 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 d	d
lmZ d	dlmZ d	dlmZ ejjjZejjjZejjZdefddZdeeef fddZ dd Z!dd Z"dS )    N)cache)lock)wrap_function_wrapper)_DD_PIN_NAME)_DD_PIN_PROXY_NAME)Pin)schematize_service_name   )_wrap_lock_ctor)_wrap_get_create)_wrap_get_create_multireturnc                   C   s   t tddS )N__version__ )getattrdogpile_cache r   r   `/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/contrib/internal/dogpile_cache/patch.pyget_version   s   r   c                   C   s   ddiS )Ndogpile.cache*r   r   r   r   r   _supported_versions   s   r   c                   C   sR   t tddrd S dt_tddt tddt tddt ttd	d
	t d S )N_datadog_patchFTzdogpile.cache.regionzCacheRegion.get_or_createzCacheRegion.get_or_create_multizdogpile.lockzLock.__init__r   )service)
r   r   r   _wr   r   r
   r   r   ontor   r   r   r   patch"   s   r   c                   C   sN   t tddsd S dt_ttjj_ttjj_t	t
j_tttd  tttd  d S )Nr   F)r   r   r   _get_or_createregionCacheRegionget_or_create_get_or_create_multiget_or_create_multi
_lock_ctordogpile_lockLock__init__setattrr   r   r   r   r   r   unpatch.   s   

r(   )#dogpile.cacher   r   dogpile.lockr   r$   AttributeErrordogpilewraptr   r   ddtrace._trace.pinr   r   r   ddtrace.internal.schemar   r
   r   r   r   r   r    r   r"   r!   r%   r&   r#   strr   dictr   r   r(   r   r   r   r   <module>   s,    

