
    lh                         d Z ddlmZmZ ddlmZmZ ddlmZ dZ	dZ
ddlmZ erddlmZ dd	lmZ dd
lmZmZ d Zd Zd Zd Zy)z+
Code used for the Caches module in Sentry
    )OPSPANDATA)_get_safe_key_key_as_string)capture_internal_exceptions)getmget)setsetex)TYPE_CHECKING)RedisIntegration)Span)AnyOptionalc                     d }| j                         t        v rt        j                  }|S | j                         t        v rt        j
                  }|S )N)lowerGET_COMMANDSr   	CACHE_GETSET_COMMANDS	CACHE_PUT)nameops     ~/var/www/pru.catia.catastroantioquia-mas.com/tasa/lib/python3.12/site-packages/sentry_sdk/integrations/redis/modules/caches.py_get_opr      sC    	Bzz||#\\ I 
	%\\I    c                 R   t        | ||      }t        |      }|j                  d      }d}|j                  D ]"  }|D ]  }	|	j	                  |      sd} n |s" n d }
| j                         t        v r|d   }
t        |       t        | |||      ||| j                         ||
d}|S )Nz, FT)r   descriptionkeykey_as_stringredis_commandis_cache_keyvalue)	r   r   splitcache_prefixes
startswithr   r   r   _get_cache_span_description)r!   argskwargsintegrationr   r    keys_as_stringr"   prefixkeer#   
propertiess               r   _compile_cache_span_propertiesr/      s    
tV
4C"3'M"((.NL,, ! 	C~~f%#	  E,R m$24
 &&,,.$
J r   c                     t        t        | ||            }|j                  xr t        |      |j                  kD  }|r|d |j                  t        d      z
   dz   }|S )Nz...)r   r   max_data_sizelen)r!   r(   r)   r*   r   data_should_be_truncateds         r   r'   r'   A   sf     }dF!KLK 	!!Rc+&69R9R&R   !"JK$=$=E
$JKeSr   c                 (   t               5  | j                  t        j                  |d          |d   t        v r|| j                  t        j
                  d       t        |t              s#t        t        |      j                  d            n
t        |      }| j                  t        j                  |       n| j                  t        j
                  d       nn|d   t        v rc|d   ^t        |d   t              st        |d   j                  d            nt        |d         }| j                  t        j                  |       	 |j                  j                  }|j'                  d      }| | j                  t        j(                  |       |j'                  d	      }| | j                  t        j*                  |       d d d        y # t        $ r, |j!                         }|j"                  |j$                  d}Y w xY w# 1 sw Y   y xY w)
Nr   r!   Tzutf-8Fr#   )hostportr5   r6   )r   set_datar   	CACHE_KEYr   	CACHE_HIT
isinstancebytesr2   strencodeCACHE_ITEM_SIZEr   connection_poolconnection_kwargsAttributeErrorget_default_noder5   r6   r   NETWORK_PEER_ADDRESSNETWORK_PEER_PORT)	spanredis_clientr.   return_valuesizeconnection_paramsdefault_noder5   r6   s	            r   _set_cache_datarK   N   s   	$	& )<h((*U*;<o&,6'h00$7 &lE: L)009:\* 
 h66=h00%8(L8'". &j&95A 
7+227;<Z01 
 h66=		 , < < N N !$$V,MM(77> $$V,MM(44d;S)< )<4  	 (88:L$))$))!		5)< )<s1   D?HG!A&H2HHHHHN)__doc__sentry_sdk.constsr   r   #sentry_sdk.integrations.redis.utilsr   r   sentry_sdk.utilsr   r   r   typingr   sentry_sdk.integrations.redisr   sentry_sdk.tracingr   r   r   r   r/   r'   rK    r   r   <module>rT      sC    + M 8  >'$D
+<r   