
    tni                         d dl Z d dlZd dlmZ d dlmZ erd dlmZ 	 d dlmZ n# e	$ r dZY nw xY w	 d dl
mZ n# e	ef$ r dZY nw xY wddZddZdS )    N)OP)TYPE_CHECKING)Any)iscoroutinefunction)wrap_async_viewreturnc                      ddl m}  ddlm} ddlm | j        |j        dfd	}t          j	                  	 	 	 	 	 	 	 	 dfd            }||_        || _        d S )Nr   )BaseHandler)SimpleTemplateResponseDjangoIntegrationselfr   r   r   c                     t          j        t          j        dj                  5   |           cd d d            S # 1 swxY w Y   d S )Nzserialize responseopnameorigin)
sentry_sdk
start_spanr   VIEW_RESPONSE_RENDERr   )r   r   
old_renders    a/var/www/html/gpu-tools/venv/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.pysentry_patched_renderz*patch_views.<locals>.sentry_patched_render    s    "&%$+
 
 
 	$ 	$
 :d##	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s   A  AAargskwargsc                      | g|R i |}t          j                                                  }|Ct          d uot          d uot          |          }|rt	          |          }nt          |          }n|}|S )N)r   
get_clientget_integrationr   r   _wrap_sync_view)	r   r   r   callbackintegrationis_async_viewsentry_wrapped_callbackr   old_make_view_atomics	          r   sentry_patched_make_view_atomicz4patch_views.<locals>.sentry_patched_make_view_atomic(   s     ('>t>>>v>>
 !+--==>OPP"#4/ 2#4/2'11 
  D*9(*C*C''*9(*C*C'' '/#&&    )r   r   r   r   )r   r   r   r   r   r   r   r   )
django.core.handlers.baser
   django.template.responser   sentry_sdk.integrations.djangor   make_view_atomicrender	functoolswraps)r
   r   r   r%   r   r$   r   s       @@@r   patch_viewsr.      s    555555??????@@@@@@&7'.J$ $ $ $ $ $ $ _)**''!'-2'	' ' ' ' ' ' +*'2 %:!#BK   r&   r    r   c                 X     ddl m t          j                   d	 fd            }|S )
Nr   r   requestr   r   r   r   c                    t          j                    }|j        |j                                         t          j                    }|j        |j                                         t          j                                                  }|r|j	        s | g|R i |S t          j
        t          j        | j        j        j                  5   | g|R i |cd d d            S # 1 swxY w Y   d S )Nr   )r   get_current_scopetransactionupdate_active_threadget_isolation_scopeprofileupdate_active_thread_idr   r   middleware_spansr   r   VIEW_RENDERresolver_match	view_namer   )r0   r   r   current_scopesentry_scoper!   r   r    s         r   r#   z0_wrap_sync_view.<locals>.sentry_wrapped_callbackI   s[   "466$0%::<<<!577 + 88::: +--==>OPP 	6+"> 	68G5d555f555"~'1$+
 
 
 	6 	6
 8G5d555f55	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6s   C,,C03C0)r0   r   r   r   r   r   r   r   )r)   r   r,   r-   )r    r#   r   s   ` @r   r   r   F   sV    @@@@@@_X6 6 6 6 6 6 6, #"r&   )r   N)r    r   r   r   )r,   r   sentry_sdk.constsr   typingr   r   asyncior   ImportError#sentry_sdk.integrations.django.asgir   SyntaxErrorr.   r    r&   r   <module>rE      s                                   +++++++   CCCCCCC[!   OOO+C +C +C +C\# # # # # #s   % //: 	AA