
    PIi                         d dl Z d dlZd dlZd dlZd dl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  G d d	e      Z G d
 de      Zy)    N)Enum)FacebookRequest)FacebookSession)FacebookAdsApi)FacebookError)FacebookRequestErrorc                       e Zd ZdZdZy)ReasonsAPISDKN)__name__
__module____qualname__r   r        m/var/www/webhook.estador.de/web/meta/bot/venv/lib/python3.12/site-packages/facebook_business/crashreporter.pyr
   r
      s    
C
Cr   r
   c                       e Zd ZdZdZd Zed        Zed        Zed        Z	ed        Z
ed        Zd Zd	 Zd
 Zd Zy)CrashReporterNc                      || _         || _        y N)_CrashReporter__app_id_CrashReporter__excepthook)selfapp_id
excepthooks      r   __init__zCrashReporter.__init__   s    &r   c                    | j                   ut        j                         } | |j                  j                  t
        j                        | _         | j                   j                  t
        _        | j                  d       y y )NEnabled)	reporter_instancer   get_default_api_sessionr   sysr   !_CrashReporter__exception_handlerlogging)clsapis     r   enablezCrashReporter.enable#   s]      ( 002C$'(;(;S^^$LC! 22FFCNKK	"	 )r   c                     | j                   d k7  r8| j                   j                  t        _        d | _         | j	                  d       y y )NDisabled)r   r   r"   r   r$   r%   s    r   disablezCrashReporter.disable+   s<      D( 22??CN$(C!KK
#	 )r   c                     | j                   \t        j                          t        j                  t              | _         | j                   j                  t        j                         y y r   )loggerr$   basicConfig	getLoggerr   setLevelINFOr*   s    r   enableLoggingzCrashReporter.enableLogging3   sE    ::! **84CJJJ- r   c                 2    | j                   d k7  rd | _         y y r   )r-   r*   s    r   disableLoggingzCrashReporter.disableLogging:   s    ::CJ r   c                 Z    | j                   d k7  r| j                   j                  |       y y r   )r-   info)r%   r6   s     r   r$   zCrashReporter.logging?   s#    ::JJOOD! r   c                     | j                  ||      }|r't        j                  d       | j                  |       nt        j                  d       | j	                  |||       y )NzCrash detected!zNo crash detected.)_CrashReporter__build_paramr   r$   _CrashReporter__send_report!_CrashReporter__forward_exception)r   etypeevaluetbparamss        r   __exception_handlerz!CrashReporter.__exception_handlerD   sU    ##E2.!!"34v&!!"67  3r   c                 *    | j                  |||       y r   )r   )r   r;   r<   r=   s       r   __forward_exceptionz!CrashReporter.__forward_exceptionO   s    %,r   c                 L   |sy t        j                         D cg c]  }|j                   }}d }|j                  t        j                  k(  rt        j
                  }n|j                  |v rt        j                  }|Tt        j                  |d      }t        |      D ]/  \  }\  }}	}
}|j                  d      dk7  s t        j                  }1 |y dj                  |j                  |j                        t        j                  |      t        j                  dS c c}w )Nd   )limitfacebook_businessz{} : {})reason	callstackplatform)r   __subclasses__r   r   r
   r   r   	traceback
extract_tb	enumeratefindformatvalue	format_tbr"   version)r   r;   r=   r%   fb_request_errorsrG   extracted_tbiifilenamelinefuncnamecodes               r   __build_paramzCrashReporter.__build_paramR   s    5B5Q5Q5STcS\\TT>>1:::[[F^^00[[F>$//#>L8A,8O )44XtXt==!45;$[[F) >  &&v||U^^D",,R0
 	
# Us   D!c                 (   	 t               }t        |      }t        | j                  dd|      }|j	                  d|i       |j                          t        j                  d       y # t        $ r}t        j                  d       Y d }~y d }~ww xY w)NPOSTz/instruments)node_idmethodendpointr&   bizsdk_crash_reportzSucceed to Send Crash Report.zFail to Send Crash Report.)	r   r   r   r   
add_paramsexecuter   r$   	Exception)r   payload	anonymousr&   requestes         r   __send_reportzCrashReporter.__send_reportl   s    	@')I +C%'	G  5g>?OO!!"AB 	@!!">??	@s   A&A) )	B2BB)r   r   r   r   r-   r   classmethodr'   r+   r2   r4   r$   r#   r:   r8   r9   r   r   r   r   r      s    F' # # $ $ . .   " "4-4@r   r   )r"   rK   inspectjsonr$   enumr   facebook_business.apir   facebook_business.sessionr   r   facebook_business.exceptionsr   r   r
   objectr   r   r   r   <module>rq      sD          1 5 0 6 =d `@F `@r   