o
    hA                  	   @   s   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 zd dlmZ W n e	y/   dZY nw zd dl
mZ W n e	efyE   dZY nw dd Zd	d
 ZdS )    N)OP)TYPE_CHECKING)Any)iscoroutinefunction)wrap_async_viewc                     sf   ddl m}  ddlm} ddlm  | j|j fdd}t	 fdd}||_|| _d S )	Nr   )BaseHandler)SimpleTemplateResponseDjangoIntegrationc                    s@   t jtjd jd | W  d    S 1 sw   Y  d S )Nzserialize responseopnameorigin)
sentry_sdk
start_spanr   VIEW_RESPONSE_RENDERr   )self)r
   
old_render f/var/www/html/pro-man-master/venv/lib/python3.10/site-packages/sentry_sdk/integrations/django/views.pysentry_patched_render"   s   $z*patch_views.<locals>.sentry_patched_renderc                    sn   | g|R i |}t   }|d ur3|jr3td uo$td uo$t|}|r-t|}|S t|}|S |}|S )N)r   
get_clientget_integrationmiddleware_spansr   r   _wrap_sync_view)r   argskwargscallbackintegrationis_async_viewsentry_wrapped_callback)r
   old_make_view_atomicr   r   sentry_patched_make_view_atomic+   s   z4patch_views.<locals>.sentry_patched_make_view_atomic)
django.core.handlers.baser   django.template.responser   sentry_sdk.integrations.djangor
   make_view_atomicrender	functoolswraps)r   r   r   r"   r   )r
   r!   r   r   patch_views   s   	
r*   c                    s(   ddl m  t fdd}|S )Nr   r	   c                    s   t  }|jd ur|j  t  }|jd ur|j  t jtj	| j
j jd | g|R i |W  d    S 1 s>w   Y  d S )Nr   )r   get_current_scopetransactionupdate_active_threadget_isolation_scopeprofileupdate_active_thread_idr   r   VIEW_RENDERresolver_match	view_namer   )requestr   r   current_scopesentry_scoper
   r   r   r   r    L   s   



$z0_wrap_sync_view.<locals>.sentry_wrapped_callback)r%   r
   r(   r)   )r   r    r   r7   r   r   H   s   r   )r(   r   sentry_sdk.constsr   typingr   r   asyncior   ImportError#sentry_sdk.integrations.django.asgir   SyntaxErrorr*   r   r   r   r   r   <module>   s$    0