U
    [be                     @   s
  d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
mZ d dlmZ d dlmZmZmZ d dlmZ d	d
lmZmZ eeeddpdZdZeeee ddd Zee
ee ddd Zeee eedddZdddZdd ZdS )    )settings)REDIRECT_FIELD_NAMElogin)login_required)never_cache)csrf_exemptcsrf_protect)require_POST)do_authdo_completedo_disconnect)setting_name   )maybe_require_postpsaZURL_NAMESPACENZsocialz	:completec                 C   s   t | jtdS )Nredirect_name)r
   backendr   )requestr    r   U/var/www/html/services/stratfitenv/lib/python3.8/site-packages/social_django/views.pyauth   s    r   c                 O   s"   t | jtf|| jt| d|S )zAuthentication complete view)userr   r   )r   r   	_do_loginr   r   )r   r   argskwargsr   r   r   complete   s    r   c                 C   s   t | j| j|tdS )z6Disconnects given backend from current logged in user.r   )r   r   r   r   )r   r   Zassociation_idr   r   r   
disconnect*   s       r   Fc                 C   s   |rl|   }|r| }nt}|d kr4|d kr4t}q~|d krJ|d k	rJ|}q~|d k	r`|d kr`|}q~t||}n|d krzt}n|}|S )N)Zexpiration_datetimetotal_secondsDEFAULT_SESSION_TIMEOUTmin)social_userenable_session_expirationmax_session_lengthZ
expirationZreceived_expiration_timesession_expiryr   r   r   get_session_timeout6   s     
r%   c              	   C   s   | j  d| jj |_| dd}| dd }t| jj| zt|}W n t	t
fk
rd   d }Y nX t|||d}z| jjj| W n$ tk
r   | jjjt Y nX d S )N.ZSESSION_EXPIRATIONFZMAX_SESSION_LENGTH)r"   r#   )
__module__	__class____name__r   Zsettingr   Zstrategyr   int	TypeError
ValueErrorr%   sessionZ
set_expiryOverflowErrorr   )r   r   r!   r"   Zmax_session_length_settingr#   r$   r   r   r   r   f   s"    
r   )N)FN)Zdjango.confr   Zdjango.contrib.authr   r   Zdjango.contrib.auth.decoratorsr   Zdjango.views.decorators.cacher   Zdjango.views.decorators.csrfr   r   Zdjango.views.decorators.httpr	   Zsocial_core.actionsr
   r   r   Zsocial_core.utilsr   utilsr   r   getattrZ	NAMESPACEr   r   r   r   r%   r   r   r   r   r   <module>   s8      
0