0iddlZddlmZmZddlmZddlmZerddlmZddlmZddlm Z ddlm Z dd l m Z d Z d ZGd d Zy)N)datetimetimezone)format_timestamp) TYPE_CHECKING)Optional)Union)Any)Dict) SessionStatusc(|jddS)Nr)second microsecond)replace)tss A/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/session.py _minute_truncrs ::QA: ..cdt|tjr|Stj|SN) isinstanceuuidUUID)vals r _make_uuidrs%#tyy! 99S>rcxeZdZ ddZedZ d dZ d dZ d dZdZ y) SessionNc D|tj}|#tjtj }|d}||_d|_||_d|_ d|_ d|_ d|_ d|_ | |_d|_|j!||||||| | | |  y)Nokr) siddid timestampdurationrelease environment user_agent ip_addresserrorsuser)ruuid4rnowrutcstatusr 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 ?ll8<<0G >F    (  #!!  rc,t|jSr)rr-)r0s rtruncated_startedzSession.truncated_startedOsT\\**rc | rL| | jd} |7| jdxs$| jdxs| jd}|t||_|t||_|#t j tj}||_ |||_ |||_ |||_ |||_ | | |_| | |_| | |_|||_yy)Nr&idemailusername)getrrstrr rr*rr+r!r-r"r#r$r&r%r'r,) r0rr r!r-r"r,r#r$r%r&r'r(s rr/zSession.updateTs" !!XXl3 {hhtnQ(9QTXXj=Q ?!#DH ?3xDH   X\\2I"  "DL  $DM  "DL  "*D   !(DO  !(DO   DK   DK rcT||jdk(rd}||j|yy)Nrexited)r,)r,r/)r0r,s rclosez Session.closes2 >dkkT1F   KKvK & rci}|j|j|d<|j|j|d<|r6|j|j|d<|j|j|d<|S)Nr#r$r&r%)r#r$r&r%)r0with_user_infoattrss rget_json_attrszSession.get_json_attrssu  << ##||E)     '#'#3#3E- *&*ool#*&*ool# rclt|jdt|jt|j|j d}|j r|j |d<|j|j|d<|j|j|d<|j}|r||d<|S)NT)rinitr-r!r,r'r r"r?) r9rrr-r!r,r'r r"r@)r0rvr?s rto_jsonzSession.to_jsonstxx=' 5)$..9kk   ;;;;BxL 88 BuI == $!]]BzN##% BwK r) NNNNNNNNNNNN application) NNNNNNNNNNNNr)T) __name__ __module__ __qualname__r1propertyr3r/r<r@rDrrrrs   "- ^++   .!d'"rr)rrrsentry_sdk.utilsrtypingrrrr r sentry_sdk._typesr rrrrJrrrNs9 '- // RRr