B
    CVvgW  ã               @   sL   d dl mZ d dlmZ ddlmZmZmZ dZe	e	dœdd„Z
d	d
„ ZdS )é    )Úsettings)Ú	mark_safeé   )ÚnowÚseconds_until_session_endÚseconds_until_idle_time_endah  
<script>
    (function() {
        var w = window,
            s = w.localStorage,
        %s
        w.addEventListener('load', function() {
            s['djalLogoutAt'] = at;
            
            function upd() {
                if (s['djalLogoutAt'] > at) {
                    at = s['djalLogoutAt'];
                    setTimeout(upd, at - Date.now());
                }
                else {
                    delete s['djalLogoutAt'];
                    w.location.reload();
                }
            }
            
            setTimeout(upd, at - Date.now());
        });
    })();
</script>
)ÚsÚreturnc             C   s   d  dd„ |  d¡D ƒ¡S )NÚ c             S   s   g | ]}|  ¡ ‘qS © )Ústrip)Ú.0Úliner   r   úU/tmp/pip-install-o3oxmrkh/django-auto-logout/django_auto_logout/context_processors.pyú
<listcomp>!   s    z_trim.<locals>.<listcomp>Ú
)ÚjoinÚsplit)r   r   r   r   Ú_trim    s    r   c             C   sè   | j jri S ttdƒ}|si S i }tƒ }d|krDt| |d |ƒ|d< d|kr`t| |d |ƒ|d< | d¡räd }d|kršd|kršd|d › d|d › d	}n2d|kr´d
|d › d}nd|krÌd
|d › d}|rätt	t
| ƒƒ|d< |S )NZAUTO_LOGOUTZSESSION_TIMEr   Z	IDLE_TIMEZseconds_until_idle_endZREDIRECT_TO_LOGIN_IMMEDIATELYz at=Date.now()+Math.max(Math.min(ú,z),0)*1000+999;zat=Date.now()+Math.max(z,0)*1000+999;Zredirect_to_login_immediately)ÚuserZis_anonymousÚgetattrr   r   r   r   Úgetr   r   ÚLOGOUT_TIMEOUT_SCRIPT_PATTERN)ÚrequestÚoptionsÚctxÚcurrent_timeZatr   r   r   Úauto_logout_client$   s,    

r   N)Zdjango.confr   Zdjango.utils.safestringr   Úutilsr   r   r   r   Ústrr   r   r   r   r   r   Ú<module>   s
   