bgddlZddlmZddlmZddlmZerddlmZddlmZddlm Z ddlm Z dd lm Z d Z d Z Gd d eZdS)N)datetime) TYPE_CHECKING)format_timestamp)Optional)Union)Any)Dict) SessionStatusc0|ddS)Nr)second microsecond)replace)tss I/opt/cloudlinux/venv/lib64/python3.11/site-packages/sentry_sdk/session.py _minute_truncrs ::QA: . ..cbt|tjr|Stj|SN) isinstanceuuidUUID)vals r _make_uuidrs+#ty!! 9S>>rceZdZ d dZedZ d dZ d dZ d dZd Z dS)SessionN applicationc ,|tj}|tj}|d}||_d|_||_d|_d|_d|_ d|_ d|_ | |_ d|_ |||||||| | | |  dS)Nokr) siddid timestampdurationrelease environment user_agent ip_addresserrorsuser)ruuid4rutcnowstatusr startedr#r$r"r%r& session_moder'update)selfrr r!r,r"r+r#r$r%r&r'r(r-s r__init__zSession.__init__s" ;*,,C ?o''G >F    (  #!!  rc*t|jSr)rr,)r/s rtruncated_startedzSession.truncated_startedNsT\***rc | rX| | d} |?| dp)| dp| d}|t||_|t||_|t j}||_|||_|||_ |||_ |||_ | | |_ | | |_ | | |_| ||_dSdS)Nr&idemailusername)getrrstrr rr*r!r,r"r#r$r&r%r'r+) r/rr r!r,r"r+r#r$r%r&r'r(s rr.zSession.updateSs "  R!!XXl33 {hhtnnQ(9(9QTXXj=Q=Q ?!#DH ?3xxDH   ))I"  "DL  $DM  "DL  "*D   !(DO  !(DO   DK   DKKK  rcX| |jdkrd}|||dSdS)Nrexited)r+)r+r.)r/r+s rclosez Session.closesB >dkT11F   KKvK & & & & &  rTci}|j |j|d<|j |j|d<|r"|j |j|d<|j |j|d<|S)Nr#r$r&r%)r#r$r&r%)r/with_user_infoattrss rget_json_attrszSession.get_json_attrssh < ##|E)    '#'#3E-  6*&*ol#*&*ol# rc(t|jdt|jt|j|jd}|jr |j|d<|j |j|d<|j |j|d<| }|r||d<|S)NT)rinitr,r!r+r'r r"r>) r8rrr,r!r+r'r r"r?)r/rvr>s rto_jsonzSession.to_jsonstx==' 55)$.99k    ; ';BxL 8 BuI = $!]BzN##%%  BwK r) NNNNNNNNNNNNr) NNNNNNNNNNNNr)T) __name__ __module__ __qualname__r0propertyr2r.r;r?rCrrrrs   "- - - - ^++X+   .!.!.!.!b''''" rr)rrsentry_sdk._typesrsentry_sdk.utilsrtypingrrrr r rrobjectrrHrrrMs ++++++------0///////// PPPPPfPPPPPr