,7QndZddlmZmZddlZddlZddlZddlZddlm Z ddl m Z m Z ddl mZddlmZddlmZmZmZdd lmZejd Zd Zd aGd deZeZddZddZGddeZ dZ!ddZ"eZ#da$dZ%ej&dkr e%dSdS)z raven.contrib.django.models ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Acts as an implicit hook for Django installs. :copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details. :license: BSD, see LICENSE for more details. )absolute_importunicode_literalsN)settings)got_request_exceptionrequest_started)Lock)convert_options)PY2 binary_type text_type) import_stringzsentry.errors.clientc4ttjS)z6 Modules in settings.INSTALLED_APPS as a set. )setrINSTALLED_APPSm/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/raven/contrib/django/models.pyget_installed_appsrs x& ' ''r)NNceZdZdZedZedZedZdZdZ dZ dZ d Z d Z d Zd Zd ZdZerdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#d Z$d!Z%d"Z&d#Z'd$Z(d%Z)d&Z*d'Z+d(Z,d)Z-d*Z.erd+Z/d,Z0d-Z1d.Z2d/Z3d0Z4d1Z5d2Z6d3Z7d4Z8d5S)6 ProxyClientzE A proxy which represents the currently client at all times. c*|SN)__dir__xs rzProxyClient.-sQYY[[rc(tjSr) get_client __class__rs rrzProxyClient.1s :<<#9rc(tjSr)r__dict__)os rrzProxyClient.3s *,,"7rc8ttSr)reprrrs rrzProxyClient.5jll++rc:tt|Sr)getattrrrr"s rrzProxyClient.6wz||Q77rc<tt||Sr)setattrr)rr"vs rrzProxyClient.7s'*,,1"="=rc:tt|Sr)delattrrr(s rrzProxyClient.8r)rc&t|kSrrr(s rrzProxyClient.:*,,*rc&t|kSrr0r(s rrzProxyClient.;*,,!+rc&t|kSrr0r(s rrzProxyClient.<r3rc&t|kSrr0r(s rrzProxyClient.=r3rc&t|kSrr0r(s rrzProxyClient.>r1rc&t|kSrr0r(s rrzProxyClient.?r3rc:tt|Sr)cmprr(s rrzProxyClient.Ass:<<33rc8ttSr)hashrrs rrzProxyClient.Br%rc8ttSr)boolrrs rrzProxyClient.EsD..rc8ttSr)lenrrs rrzProxyClient.FJLL))rc*t|Srr0ris rrzProxyClient.Gsz||Arc8ttSr)iterrrs rrzProxyClient.Hr%rc"|tvSrr0rBs rrzProxyClient.IsZ\\ 1rc.t||Srr0)rrCjs rrzProxyClient.Js:<<!#4rc$t|zSrr0r(s rrzProxyClient.K:<LrJrc$t|zSrr0r(s rrzProxyClient.MrJrc$t|zSrr0r(s rrzProxyClient.Ns  1rc$t|zSrr0r(s rrzProxyClient.OrJrcDt|Sr)r __divmod__r(s rrzProxyClient.Psjll55a88rc$t|zSrr0r(s rrzProxyClient.Qs:<<1,rc$t|zSrr0r(s rrzProxyClient.Rjlla/rc$t|z Srr0r(s rrzProxyClient.SrSrc$t|zSrr0r(s rrzProxyClient.TrJrc$t|z Srr0r(s rrzProxyClient.UrJrc$t|zSrr0r(s rrzProxyClient.Vs*,,*rcDt|Sr)r__div__r(s rrzProxyClient.Ws:<<//22rcDt|Sr)r __truediv__r(s rrzProxyClient.Xsz||77::rc t Srr0rs rrzProxyClient.Y *,,rc t Srr0rs rrzProxyClient.Zr]rc8ttSr)absrrs rrzProxyClient.[r@rc tSrr0rs rrzProxyClient.\s Z\\?rc8ttSr)complexrrs rrzProxyClient.]sGJLL11rc8ttSr)intrrs rrzProxyClient.^r@rc8ttSr)longrrs rrzProxyClient.`sT*,,//rc8ttSr)floatrrs rrzProxyClient.as% --rc8ttSr)r rrs rrzProxyClient.bs JLL11rc8ttSr)r rrs rrzProxyClient.csIjll33rc8ttSr)octrrs rrzProxyClient.dr@rc8ttSr)hexrrs rrzProxyClient.er@rcBtSr)r __index__rs rrzProxyClient.fs*,,0022rc.|||Sr) __coerce__r(s rrzProxyClient.gsall1a00rc*|Sr) __enter__rs rrzProxyClient.hs!++--rc|j|i|Sr)__exit__)rakws rrzProxyClient.is:1:q#7B#7#7rN)9__name__ __module__ __qualname____doc__property __members__rr!__repr__ __getattr__ __setattr__ __delattr____lt____le____eq____ne____gt____ge__r __cmp____hash__ __nonzero____len__ __getitem____iter__ __contains__ __getslice____add____sub____mul__ __floordiv____mod__rP__pow__ __lshift__ __rshift____and____xor____or__rYr[__neg____pos____abs__ __invert__ __complex____int____long__ __float____str__ __unicode____oct____hex__rqrsrurwrrrrr(s(0011K99::Ix7788H++H77K==K77K * *F + +F + +F + +F * *F + +F 433++H/.K))G..K++H11L44L++G++G++G11L++G88J,,G//J//J++G++G * *F22G::K''G''G))G**J11K))G 0//--I11G33K))G))G22I00J''I77HHHrrFc|du}|sttdd}td|ks|rttdt i} t |}|di|}|s||fa|S#t $r>td|tdsd}|t|faYnwxYwtdS) N SENTRY_CLIENTz!raven.contrib.django.DjangoClientr include_paths)defaultszFailed to import client: %sr) r'r_clientr rr ImportErrorlogger exceptionr)clientreset tmp_clientoptionsClientinstances rrrns t#J Y?4WXXqzVu! !3!5!5    "6**Fv((((H -!8,O 7 7 7   :F C C C1: 7<!:f#5#56  7 1:sA44AB<;B<c 8 ttj|dS#t$r^} t d|n.#t$r!}tjd|Yd}~nd}~wwxYwYd}~dSYd}~dSd}~wwxYwN)exc_inforequestzUnable to process log entry: rcaptureExceptionsysr Exceptionrrwarningswarn)rkwargsexcs rsentry_exception_handlerrsFIIIII FFF F    ##G H H H H F F F MMssD E E E E E E E E F I H H H H H E E E E E E F8-1 BAB B$B;BBBBc8eZdZefdZdZdZdZddZdZ dS) SentryDjangoHandlerc|||_ ddl}|jdk|_n#t$r d|_YnwxYwd|_dS)Nr)F)rceleryVERSION has_celeryrcelery_handler)selfrrs r__init__zSentryDjangoHandler.__init__sa  7 MMM%n6DOO $ $ $#DOOO $ #s 22cddlm}m}ttdd}|t ||_dS)Nr)SentryCeleryHandlerregister_logger_signalSENTRY_CELERY_IGNORE_EXPECTEDF)ignore_expected)raven.contrib.celeryrrr'rrinstallr)rrrrs rinstall_celeryz"SentryDjangoHandler.install_celerysy        "("A"'))21&BQSSS3:799 rctj|jdtj|jd|jrB |dS#t$rt dYdSwxYwdS)NF)weakz&Failed to install Celery error handler) rconnectbefore_requestrexception_handlerrrrrrrs rrzSentryDjangoHandler.installs 3%@@@@%d&<5IIII ? K K##%%%%% K K K  !IJJJJJJ K K KsA$A=<A=ctj|jtj|j|jr|jdSdSr)r disconnectrrrr uninstallrs rrzSentryDjangoHandler.uninstallsZ"4#6777()?@@@   ,   ) ) + + + + + , ,rNc 8 |jtj|dS#t$r^} t d|n.#t$r!}tjd|Yd}~nd}~wwxYwYd}~dSYd}~dSd}~wwxYwrr)rrrrs rrz%SentryDjangoHandler.exception_handlers J K ( (#,..' ( R R R R R J J J J   cc!KLLLL J J J 33HIIIIIIII JMLLLLLIIIIII  JrcB|jjdSr)rcontextactivate)rargsrs rrz"SentryDjangoHandler.before_requests $$&&&&&rr) rzr{r|rrrrrrrrrrrrs$ # # # # = = =.KKK,,,JJJJ'''''rrcddl}dS)Nr) raven.contrib.django.serializers)ravens rregister_serializersrs++++++rc8||f}ttdd dnd}tt|dpd}t|t|r2t t|t ||f|zdSdS)z& Install specified middleware N MIDDLEWAREMIDDLEWARE_CLASSESr)r'rr isdisjointr+type)middleware_name lookup_namesmiddleware_attr middlewares rinstall_middlewarers') &-h.:.2'4'4;?'@ll" ?B77=2J <##C OO44C Z  /!344zA C C C C CCCrct5tr ddddSda ttddtdt t dds"t }|tn#t$rdaYnwxYwddddS#1swxYwYdS)NT0raven.contrib.django.middleware.SentryMiddleware)rz3raven.contrib.django.middleware.SentryLogMiddlewarezCraven.contrib.django.middleware.DjangoRestFrameworkCompatMiddlewareDISABLE_SENTRY_INSTRUMENTATIONF) _setup_lock _initializedrrr'rrrrr)handlers r initializersT !!   !!!!!!!!   ! " " " BK L L L U W W W8%EuMM "-//!!! LLLL ! ! ! LLL !1!!!!!!!!!!!!!!!!!!s: B4B4A3BB4 B$!B4#B$$B44B8;B8)rr)NFr)'r} __future__rrloggingrrdjango django.confrdjango.core.signalsrr threadingrraven.utils.confr raven.utils.compatr r r raven.utils.importsr getLoggerrrrobjectrrrrrrrrrrrrrrrs98888888  FFFFFFFF,,,,,,::::::::::------  1 2 2((( A8A8A8A8A8&A8A8A8F >FFFF?'?'?'?'?'&?'?'?'D,,, CCCC&dff  !!!> >IJLLLLLr