
    1j
                     z    S SK r S SKrS SKJr  S SKJrJr  S SKJrJr  S SKJ	r	   " S S\
\5      r " S S	\5      rg)
    N)datetime)SessionInterfaceSessionMixin)appdb)modelsc                       \ rS rSrSS jrSrg)Session
   Nc                     X l         X0l        SU l        U(       a  [        R	                  X5        g [        R	                  U 5        g )NT)sessidipaddr	permanentdict__init__)selfdatar   r   s       "/var/www/html/conj/appl/session.pyr   Session.__init__   s.    MM$%MM$    )r   r   r   )NNN)__name__
__module____qualname____firstlineno__r   __static_attributes__ r   r   r
   r
   
   s     r   r
   c                        \ rS rSrS rS rSrg)SQLA_SessionInterface   c                    [         R                  R                  R                  [         R                  R                  [
        R                  " 5       :*  5      R                  5         [        R                  R                  5         UR                  R                  UR                  5      nUR                  nU(       d&  [        [        [         R"                  " 5       5      US9$ [         R                  R                  R%                  US9R'                  5       nU(       ab  UR                  [
        R                  " 5       ::  a?  [        R                  R                  U5        [        R                  R                  5         S nU(       a)  [(        R*                  " UR,                  5      n[        XcS9$ [        [        [         R"                  " 5       5      US9$ )N)r   r   
session_id)r   )r   r
   queryfilterexpiresr   utcnowdeleter   sessioncommitcookiesgetsession_cookie_nameremote_addrstruuiduuid4	filter_byfirstpickleloadsr   )r   r   requestr   r   savedr   s          r   open_session"SQLA_SessionInterface.open_session   s&   ##&&(//*;;	==CVX


$$S%<%<=$$ #djjl"3FCC$$..&.AGGIU]]hoo&77JJe$JJE<<

+D4//c$**,/??r   c                    U R                  U5      nU R                  U5      n[        R                  R                  R                  UR                  S9R                  5       nU(       dp  UR                  (       a^  U(       a=  [        R                  R                  U5        [        R                  R                  5         UR                  UR                  XES9  g [        R                   " [#        U5      5      nU R%                  X5      nU(       a+  Xvl        Xl        [        R                  R                  5         Oy[        R                  R+                  [        R                  " UR                  [,        R.                  " 5       UXrR0                  S95        [        R                  R                  5         UR3                  UR                  UR                  UU R5                  U5      XEU R7                  U5      S9  g )Nr!   )domainpath)r"   createdr%   r   r   )r%   httponlyr:   r;   secure)get_cookie_domainget_cookie_pathr   r
   r#   r1   r   r2   modifiedr   r(   r'   r)   delete_cookier,   r3   dumpsr   get_expiration_timer   r%   addr   r&   r   
set_cookieget_cookie_httponlyget_cookie_secure)	r   r   r(   responser:   r;   r6   r   r%   s	            r   save_session"SQLA_SessionInterface.save_session2   sq   '',##C($$..3:>> / CCH57 	 JJ%%e,JJ%%'&&s'>'>.4 ' A||DM***38J#MJJJJNN6>>W^^#+??#4g $^^= > JJC33W^^$+%)%=%=c%B#)#'#9#9##>	 	 	@r   r   N)r   r   r   r   r7   rJ   r   r   r   r   r   r      s    @8!@r   r   )r/   r3   r   flask.sessionsr   r   applr   r   r   r   r
   r   r   r   r   <module>rN      s1      9   dL  ?@, ?@r   