
    ghG                        S SK r S SKrS SKJrJr  S SKJrJrJr  S SK	J
r
  S SKJr  S SKJr  \(       a  S SKJr  S SKJrJr   S SKrS S	KJr  S S
KJr  \(       a  S SKJr   " S S\ R4                  5      r\R8                  R:                  r\R>                  R:                  r SSSSSSSS.r!\RD                  S\R>                  S\RF                  S\RH                  S\R8                  S\RJ                  S\RL                  S0r' " S S\5      r( " S S\5      r) " S  S!\)\5      r* " S" S#\)\5      r+S$ r,g! \ a	    \" S5      ef = f)%    N)IntegrationDidNotEnable)BreadcrumbHandlerEventHandler_BaseHandler)_log_level_to_otel)has_logs_enabled)TYPE_CHECKING)	LogRecord)AnyOptional)logger)LOGURU_FORMAT)MessagezLOGURU is not installedc                   0    \ rS rSrSrSrSrSrSrSr	Sr
Srg	)
LoggingLevels      
         (   2    N)__name__
__module____qualname____firstlineno__TRACEDEBUGINFOSUCCESSWARNINGERRORCRITICAL__static_attributes__r       a/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/sentry_sdk/integrations/loguru.pyr   r      s%    EEDGGEHr'   r   r    r!   r#   r$   r%   )r   r    r!   r"   r#   r$   r%               	   r      c                   P    \ rS rSrSr\r\r\	r
\	r\r\\\	\	\4S jr\S 5       rSrg)LoguruIntegrationB   loguruc                 r    U[         l        U[         l        U[         l        U[         l        U[         l        g )N)r0   levelevent_levelbreadcrumb_formatevent_formatsentry_logs_level)selfr4   r5   r6   r7   r8   s         r(   __init__LoguruIntegration.__init__K   s1     #((3%.?+)5&.?+r'   c                     [         R                  bG  [        R                  " [	        [         R                  S9[         R                  [         R
                  S9  [         R                  bG  [        R                  " [        [         R                  S9[         R                  [         R                  S9  [         R                  b(  [        R                  " [        [         R                  S9  g g )N)r4   )r4   format)r0   r4   r   addLoguruBreadcrumbHandlerr6   r5   LoguruEventHandlerr7   r8   loguru_sentry_logs_handlerr   r'   r(   
setup_onceLoguruIntegration.setup_onceZ   s     "".JJ'.?.E.EF'--(:: ((4JJ"):)F)FG'33(55 ..:JJ*'99 ;r'   r   N)r   r   r   r   
identifierDEFAULT_LEVELr4   DEFAULT_EVENT_LEVELr5   DEFAULT_FORMATr6   r7   r8   r:   staticmethodrB   r&   r   r'   r(   r0   r0   B   sM    JE%K&!L% '(#'@  r'   r0   c                   .   ^  \ rS rSrU 4S jrS rSrU =r$ )_LoguruBaseHandlerr   c                    > UR                  S5      (       a-  [        R                  UR                  SS5      [        5      US'   [        TU ]  " U0 UD6  g )Nr4    )getSENTRY_LEVEL_FROM_LOGURU_LEVELrE   superr:   )r9   argskwargs	__class__s      r(   r:   _LoguruBaseHandler.__init__s   sJ    ::g<@@

7B'F7O 	$)&)r'   c                      [         [        UR                  5      R                     R	                  5       $ ! [
        [        4 a2    UR                  (       a  UR                  R	                  5       s $ Ss $ f = f)NrM   )rO   r   levelnonamelower
ValueErrorKeyError	levelname)r9   records     r(   _logging_to_event_level*_LoguruBaseHandler._logging_to_event_level|   sh    	H1fnn-22eg H% 	H/5/?/?6##))+GRG	Hs   36 ;A83A87A8r   )r   r   r   r   r:   r]   r&   __classcell__)rS   s   @r(   rJ   rJ   r   s    *H Hr'   rJ   c                       \ rS rSrSrSrg)r@      zfModified version of :class:`sentry_sdk.integrations.logging.EventHandler` to use loguru's level names.r   Nr   r   r   r   __doc__r&   r   r'   r(   r@   r@      s    pr'   r@   c                       \ rS rSrSrSrg)r?      zkModified version of :class:`sentry_sdk.integrations.logging.BreadcrumbHandler` to use loguru's level names.r   Nrb   r   r'   r(   r?   r?      s    ur'   r?   c           
      V   [         R                  " 5       nUR                  5       (       d  g [        UR                  5      (       d  g U R
                  n[        R                  b!  US   R                  [        R                  :  a  g [        US   R                  [        5      u  p4SS0nUR                  S   nUR                  S5      (       aZ  UbE  US   R                  R                  U5      (       a"  US   R                  [        U5      S-   S  US'   OUS   R                  US'   UR                  S5      b  US   US	'   UR                  S
5      (       a  US
   US'   UR                  S5      (       a$  US   R                  US'   US   R                   US'   UR                  S5      (       a$  US   R                   US'   US   R                  US'   UR                  S5      (       a  US   US'   UR#                  UUUS   U[%        US   R'                  5       S-  5      S S.5        g )Nr4   zsentry.originzauto.logger.loguruproject_rootfiler.   zcode.file.pathlinezcode.line.numberfunctionzcode.function.namethreadzthread.namez	thread.idprocesszprocess.pidzprocess.executable.namerW   zlogger.namemessagetimeg    eA)severity_textseverity_numberbody
attributestime_unix_nanotrace_id)
sentry_sdk
get_client	is_activer	   optionsr\   r0   r8   nor   SEVERITY_TO_OTEL_SEVERITYrN   path
startswithlenrW   id_capture_experimental_logint	timestamp)rm   clientr\   otel_severity_numberotel_severity_textattrsrg   s          r(   rA   rA      s    ""$FFNN++^^F 	++3'? 1 C CC/Aw50, 23E>>.1Lzz&#v(;(;(F(F|(T(T&,Vn&9&9#l:Ka:O:Q&RE"#&,Vn&9&9E"#zz&%$*6N !zz*&,Z&8"#zz(%h/44m#H-00kzz)%i033m+1)+<+A+A'(zz&%f~m
$$/39%!&.":":"<s"BC	
	r'   )-enumru   sentry_sdk.integrationsr   r   sentry_sdk.integrations.loggingr   r   r   sentry_sdk.loggerr   sentry_sdk.utilsr	   typingr
   loggingr   r   r   r2   r   loguru._defaultsr   rG   r   ImportErrorIntEnumr   r!   valuerE   r$   rF   rO   r%   r#   r"   r    r   rz   r0   rJ   r@   r?   rA   r   r'   r(   <module>r      sH     = 
 1 -  !$2@"
DLL  ""((#))//  "  B22 - -`H H(	+\ 		02C 	;q  2
0
112s   D3 3E