a
    Kɂ_Y)                     @   s4   G d d de ZddlZedZee_eeje< dS )c                   @   s$  e Zd ZG dd dZG dd dZdd Zdd Zed	d
 Zedd Z	edd Z
edd Zedd Zedd Zedd Zedd Zedd Zedd Zedd Zedd  Zed!d" Zed#d$ Zed%d& Zed'd( Zed)d* Zed+d, Zed-d. Zed/d0 Zed1d2 Zed3d4 Zed5d6 Zed7d8 Zed9d: Z ed;d< Z!ed=d> Z"ed?d@ Z#edAdB Z$edCdD Z%edEdF Z&edGdH Z'edIdJ Z(edKdL Z)edMdN Z*edOdP Z+edQdR Z,edSdT Z-edUdV Z.edWdX Z/edYdZ Z0d[S )\AppSettingsc                   @   s   e Zd ZdZdZdZdS )z AppSettings.AuthenticationMethodusernameemailZusername_emailN)__name__
__module____qualname__USERNAMEEMAILUSERNAME_EMAIL r
   r
   T/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/account/app_settings.pyAuthenticationMethod   s   r   c                   @   s   e Zd ZdZdZdZdS )z#AppSettings.EmailVerificationMethod	mandatoryoptionalZnoneN)r   r   r   	MANDATORYOPTIONALNONEr
   r
   r
   r   EmailVerificationMethod   s   r   c                 C   s   || _ | j| jjkr| jsJ | j| jjks6| js6J | j| jj	ksN| jsNJ | j
sx| jr^J | j| jj| jjfvsxJ | jd ur| jdksJ d S )N    )prefixAUTHENTICATION_METHODr   r   EMAIL_REQUIREDr   UNIQUE_EMAILEMAIL_VERIFICATIONr   r   USER_MODEL_USERNAME_FIELDUSERNAME_REQUIREDr	   MAX_EMAIL_ADDRESSES)selfr   r
   r
   r   __init__   s*    


zAppSettings.__init__c                    s0   ddl m  t d fdd}|| j| |S )Nr   settingsZALLAUTH_SETTING_GETTERc                    s   t  | |S )N)getattr)namedfltr   r
   r   <lambda>-       z&AppSettings._setting.<locals>.<lambda>)django.confr   r    r   )r   r!   r"   getterr
   r   r   _setting'   s    
zAppSettings._settingc                 C   s   |  dd S )NDEFAULT_HTTP_PROTOCOLhttp)r'   lowerr   r
   r
   r   r(   1   s    z!AppSettings.DEFAULT_HTTP_PROTOCOLc                 C   s    ddl m} | dt|ddS )za
        Determines the expiration date of e-mail confirmation mails (#
        of days)
        r   r   EMAIL_CONFIRMATION_EXPIRE_DAYSZEMAIL_CONFIRMATION_DAYS   )r%   r   r'   r    r   r   r
   r
   r   r,   5   s
    
z*AppSettings.EMAIL_CONFIRMATION_EXPIRE_DAYSc                 C   s   |  ddS )zy
        The URL to redirect to after a successful e-mail confirmation, in
        case of an authenticated user
        -EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URLNr'   r+   r
   r
   r   r/   B   s    z9AppSettings.EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URLc                 C   s   ddl m} | d|jS )zu
        The URL to redirect to after a successful e-mail confirmation, in
        case no user is logged in
        r   r   )EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URL)r%   r   r'   Z	LOGIN_URLr.   r
   r
   r   r1   J   s    z5AppSettings.EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URLc                 C   s   |  ddS )z
        The cooldown in seconds during which, after an email confirmation has
        been sent, a second confirmation email will not be sent.
        EMAIL_CONFIRMATION_COOLDOWN   r0   r+   r
   r
   r   r2   V   s    z'AppSettings.EMAIL_CONFIRMATION_COOLDOWNc                 C   s   |  ddS )zU
        The user is required to hand over an e-mail address when signing up
        r   Fr0   r+   r
   r
   r   r   ^   s    zAppSettings.EMAIL_REQUIREDc                 C   s6   |  d| jj}|du r"| jj}n|du r2| jj}|S )z0
        See e-mail verification method
        r   TF)r'   r   r   r   r   retr
   r
   r   r   e   s    
zAppSettings.EMAIL_VERIFICATIONc                 C   s   |  dd S )Nr   r0   r+   r
   r
   r   r   r   s    zAppSettings.MAX_EMAIL_ADDRESSESc                 C   s   |  d| jj}|S )Nr   )r'   r   r   r4   r
   r
   r   r   v   s    z!AppSettings.AUTHENTICATION_METHODc                 C   s   |  ddS )z7
        Adjust max_length of e-mail addresses
        EMAIL_MAX_LENGTH   r0   r+   r
   r
   r   r6   {   s    zAppSettings.EMAIL_MAX_LENGTHc                 C   s   |  ddS )z8
        Enforce uniqueness of e-mail addresses
        r   Tr0   r+   r
   r
   r   r      s    zAppSettings.UNIQUE_EMAILc                 C   s   |  ddS )z+
        Signup email verification
        SIGNUP_EMAIL_ENTER_TWICEFr0   r+   r
   r
   r   r8      s    z$AppSettings.SIGNUP_EMAIL_ENTER_TWICEc                 C   s   |  dd}|  d|S )z.
        Signup password verification
        ZSIGNUP_PASSWORD_VERIFICATIONTSIGNUP_PASSWORD_ENTER_TWICEr0   )r   Zlegacyr
   r
   r   r9      s    z'AppSettings.SIGNUP_PASSWORD_ENTER_TWICEc                 C   s   ddl m} | d|jS )Nr   r   SIGNUP_REDIRECT_URL)r%   r   r'   ZLOGIN_REDIRECT_URLr.   r
   r
   r   r:      s    zAppSettings.SIGNUP_REDIRECT_URLc                 C   s&   ddl m} d}|js"| dd}|S )z)
        Minimum password Length
        r   r   NPASSWORD_MIN_LENGTH   )r%   r   ZAUTH_PASSWORD_VALIDATORSr'   )r   r   r5   r
   r
   r   r;      s
    zAppSettings.PASSWORD_MIN_LENGTHc                 C   s   |  ddS )zD
        Subject-line prefix to use for email messages sent
        EMAIL_SUBJECT_PREFIXNr0   r+   r
   r
   r   r=      s    z AppSettings.EMAIL_SUBJECT_PREFIXc                 C   s   |  ddS )z
        Signup form
        SIGNUP_FORM_CLASSNr0   r+   r
   r
   r   r>      s    zAppSettings.SIGNUP_FORM_CLASSc                 C   s   |  ddS )zJ
        The user is required to enter a username when signing up
        r   Tr0   r+   r
   r
   r   r      s    zAppSettings.USERNAME_REQUIREDc                 C   s   |  ddS )z)
        Minimum username Length
        USERNAME_MIN_LENGTH   r0   r+   r
   r
   r   r?      s    zAppSettings.USERNAME_MIN_LENGTHc                 C   s   |  dg S )z8
        List of usernames that are not allowed
        USERNAME_BLACKLISTr0   r+   r
   r
   r   rA      s    zAppSettings.USERNAME_BLACKLISTc                 C   s   |  ddS )zJ
        render_value parameter as passed to PasswordInput fields
        PASSWORD_INPUT_RENDER_VALUEFr0   r+   r
   r
   r   rB      s    z'AppSettings.PASSWORD_INPUT_RENDER_VALUEc                 C   s   |  ddS )NADAPTERz-allauth.account.adapter.DefaultAccountAdapterr0   r+   r
   r
   r   rC      s    zAppSettings.ADAPTERc                 C   s   |  ddS )NCONFIRM_EMAIL_ON_GETFr0   r+   r
   r
   r   rD      s    z AppSettings.CONFIRM_EMAIL_ON_GETc                 C   s   |  ddS )NAUTHENTICATED_LOGIN_REDIRECTSTr0   r+   r
   r
   r   rE      s    z)AppSettings.AUTHENTICATED_LOGIN_REDIRECTSc                 C   s   |  ddS )zW
        Automatically log the user in once they confirmed their email address
        LOGIN_ON_EMAIL_CONFIRMATIONFr0   r+   r
   r
   r   rF      s    z'AppSettings.LOGIN_ON_EMAIL_CONFIRMATIONc                 C   s   |  ddS )zc
        Automatically log the user in immediately after resetting
        their password.
        LOGIN_ON_PASSWORD_RESETFr0   r+   r
   r
   r   rG      s    z#AppSettings.LOGIN_ON_PASSWORD_RESETc                 C   s   |  ddS )NLOGOUT_REDIRECT_URL/r0   r+   r
   r
   r   rH      s    zAppSettings.LOGOUT_REDIRECT_URLc                 C   s   |  ddS )NLOGOUT_ON_GETFr0   r+   r
   r
   r   rJ      s    zAppSettings.LOGOUT_ON_GETc                 C   s   |  ddS )NLOGOUT_ON_PASSWORD_CHANGEFr0   r+   r
   r
   r   rK      s    z%AppSettings.LOGOUT_ON_PASSWORD_CHANGEc                 C   s   |  ddS )Nr   r   r0   r+   r
   r
   r   r      s    z%AppSettings.USER_MODEL_USERNAME_FIELDc                 C   s   |  ddS )NUSER_MODEL_EMAIL_FIELDr   r0   r+   r
   r
   r   rL      s    z"AppSettings.USER_MODEL_EMAIL_FIELDc                 C   s   ddl m} | d|jS )zP
        Deprecated -- use Django's settings.SESSION_COOKIE_AGE instead
        r   r   SESSION_COOKIE_AGE)r%   r   r'   rM   r.   r
   r
   r   rM     s    zAppSettings.SESSION_COOKIE_AGEc                 C   s   |  ddS )z
        Controls the life time of the session. Set to `None` to ask the user
        ("Remember me?"), `False` to not remember, and `True` to always
        remember.
        SESSION_REMEMBERNr0   r+   r
   r
   r   rN     s    zAppSettings.SESSION_REMEMBERc                 C   s   |  ddS )zV
        A string defining the template extension to use, defaults to `html`.
        TEMPLATE_EXTENSIONhtmlr0   r+   r
   r
   r   rO     s    zAppSettings.TEMPLATE_EXTENSIONc                 C   s   |  di S )NFORMSr0   r+   r
   r
   r   rQ     s    zAppSettings.FORMSc                 C   s   |  ddS )z
        Number of failed login attempts. When this number is
        exceeded, the user is prohibited from logging in for the
        specified `LOGIN_ATTEMPTS_TIMEOUT`
        LOGIN_ATTEMPTS_LIMIT   r0   r+   r
   r
   r   rR      s    z AppSettings.LOGIN_ATTEMPTS_LIMITc                 C   s   |  ddS )z
        Time period from last unsuccessful login attempt, during
        which the user is prohibited from trying to log in.  Defaults to
        5 minutes.
        LOGIN_ATTEMPTS_TIMEOUTi,  r0   r+   r
   r
   r   rT   )  s    z"AppSettings.LOGIN_ATTEMPTS_TIMEOUTc                 C   s   |  ddS )NEMAIL_CONFIRMATION_HMACTr0   r+   r
   r
   r   rU   2  s    z#AppSettings.EMAIL_CONFIRMATION_HMACc                 C   s   |  ddS )NSALTZaccountr0   r+   r
   r
   r   rV   6  s    zAppSettings.SALTc                 C   s   |  ddS )NPRESERVE_USERNAME_CASINGTr0   r+   r
   r
   r   rW   :  s    z$AppSettings.PRESERVE_USERNAME_CASINGc                 C   sn   ddl m} ddlm}m} | dd }|rH||}t|tsj|dn"| jd urf| j	
| jj}ng }|S )Nr   )ImproperlyConfigured)get_user_modelimport_attributeUSERNAME_VALIDATORSz4ACCOUNT_USERNAME_VALIDATORS is expected to be a list)Zdjango.core.exceptionsrX   Zallauth.utilsrY   rZ   r'   
isinstancelistr   Z_meta	get_fieldZ
validators)r   rX   rY   rZ   pathr5   r
   r
   r   r[   >  s     

zAppSettings.USERNAME_VALIDATORSN)1r   r   r   r   r   r   r'   propertyr(   r,   r/   r1   r2   r   r   r   r   r6   r   r8   r9   r:   r;   r=   r>   r   r?   rA   rB   rC   rD   rE   rF   rG   rH   rJ   rK   r   rL   rM   rN   rO   rQ   rR   rT   rU   rV   rW   r[   r
   r
   r
   r   r      s   









































r   r   NZACCOUNT_)objectr   sysZapp_settingsr   modulesr
   r
   r
   r   <module>   s     Z