
    UњhL                        S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
JrJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  \R6                  (       d  \	" S5      e " S S\R8                  5      r " S S\R<                  5      rg)    )import_module)List)settings)get_user)ImproperlyConfigured)modelstransaction)HttpRequest)timezone)gettext_lazy)app_settings)get_adapter)contextz@allauth.usersessions not installed, yet its models are imported.c                   6    \ rS rSrS\S   4S jrS\4S jrSrg)	UserSessionManager   returnUserSessionc                     / n[         R                  R                  US9nUR                  5        H+  nUR	                  5       (       a  M  UR                  U5        M-     U$ )N)user)r   objectsfilteriteratorpurgeappend)selfr   retsessionssessions        VD:\Anime\Ugyen\janka_web_project\venv\Lib\site-packages\allauth/usersessions/models.pypurge_and_list!UserSessionManager.purge_and_list   sQ    &&--4-8((*G==??

7# + 
    requestc                 `   UR                   R                  (       d
  [        5       eUR                  R                  (       d  UR                  R                  5         UR                  R                  SS5      S[        R                  R                  S5      R                   n[        UR                   [        5       R                  U5      US9nS n[        R                   " 5          SSKJn  [        R&                  R)                  UR                  R                  US9u  pgU(       d  [        UR                  UR                   UR*                  UR,                  UR.                  UR0                  UR2                  S9nUS	   Ul         US
   Ul        US   Ul        [4        R6                  " 5       Ul        UR                  5         S S S 5        U(       aL  UR*                  WR*                  :w  d  UR,                  UR,                  :w  a  WR9                  [        UUUS9  g g g ! , (       d  f       Nb= f)NHTTP_USER_AGENT r   
user_agent)r   ipr(   )session_client_changed)session_keydefaults)r+   r   r)   r(   data
created_atlast_seen_atr   r)   )senderr$   from_session
to_session)r   is_authenticated
ValueErrorr   r+   saveMETAgetr   _meta	get_field
max_lengthdictr   get_client_ipr	   atomicallauth.usersessions.signalsr*   r   get_or_creater)   r(   r-   r.   r/   r   nowsend)r   r$   uar,   r1   r*   r   createds           r    create_from_request&UserSessionManager.create_from_request    s   ||,,,**OO  "\\/4!!++L9DD
 }**73
 !K*22@@#OO77(  A  G * ' 3 3 zz&11 &11!(!5!5   (/%d^
%-l%;"'/||~$/ "2 OOwzz)&&'*<*<<"''")"	 (  = 3 "!s   $CH
H- N)	__name__
__module____qualname____firstlineno__r   r!   r
   rD   __static_attributes__rF   r#   r    r   r      s    d=&9 2; 2r#   r   c                      \ rS rSr\" 5       r\R                  " \R                  \R                  S9r\R                  " \R                  S9r\R                   " 5       r\R                  " \R                  S9r\R&                  " \" S5      SSSS9r\R&                  " S	S
9r\R.                  " \S9rS rS rS rS rS rS rSr g)r   U   )	on_delete)defaultzsession key(   TF)r:   uniqueeditable   )r:   c                 :    U R                    SU R                   S3$ )Nz ())r)   r(   r   s    r    __str__UserSession.__str__b   s    ''"T__-Q//r#   c                 R    [        [        R                  5      nUR                  " U6 $ N)r   r   SESSION_ENGINESessionStore)r   argsengines      r    _session_storeUserSession._session_storee   s#    x667""D))r#   c                 T    U R                  5       R                  U R                  5      $ rZ   )r_   existsr+   rV   s    r    rb   UserSession.existsi   s"    ""$++D,<,<==r#   c                 
   U R                  5       (       + nU(       dO  [        5       nU R                  U R                  5      Ul        [        U5      nU(       + =(       d    UR                  nU(       a  U R                  5         gg)NTF)rb   r
   r_   r+   r   r   is_anonymousdelete)r   r   r$   r   s       r    r   UserSession.purgel   sb    KKM! "mG"11$2B2BCGOG$DH1 1 1EKKMr#   c                 d    U R                   [        R                  R                  R                   :H  $ rZ   )r+   r   r$   r   rV   s    r    
is_currentUserSession.is_current{   s#    7??#:#:#F#FFFr#   c                     [        [        R                  5      nUR                  5       nUR	                  U R
                  5        U R	                  5         g rZ   )r   r   r[   r\   rf   r+   )r   r^   stores      r    endUserSession.end~   s;    x667##%T%%&r#   rF   N)!rG   rH   rI   rJ   r   r   r   
ForeignKeyr   AUTH_USER_MODELCASCADEr   DateTimeFieldr   r@   r.   GenericIPAddressFieldr)   r/   	CharField_r+   r(   	JSONFieldr;   r-   rW   r_   rb   r   ri   rm   rK   rF   r#   r    r   r   U   s     "GX55PD%%hll;J		%	%	'B''=L""	-RuK !!S1JD)D0*>Gr#   r   N) 	importlibr   typingr   django.confr   django.contrib.authr   django.core.exceptionsr   	django.dbr   r	   django.httpr
   django.utilsr   django.utils.translationr   ru   allauthr   allauth_settingsallauth.account.adapterr   allauth.corer   USERSESSIONS_ENABLEDManagerr   Modelr   rF   r#   r    <module>r      se    #    ( 7 ) # ! 6 4 /   ,,
J 
; ;|-&,, -r#   