OwlCyberSecurity - MANAGER
Edit File: base_user.cpython-39.pyc
a ���e� � @ s� d Z ddlZddlZddlmZ ddlmZ ddlmZm Z m Z ddlmZ ddl mZmZ ddlmZ dd lmZ G d d� dej�ZG dd � d ej�ZdS )zg This module allows importing AbstractBaseUser even when django.contrib.auth is not in INSTALLED_APPS. � N)�settings)�password_validation)�check_password�is_password_usable� make_password)�models)�get_random_string�salted_hmac)�RemovedInDjango51Warning)�gettext_lazyc @ s* e Zd Zedd� �Zd dd�Zdd� Zd S )�BaseUserManagerc C sH |pd}z|� � �dd�\}}W n ty2 Y n0 |d |�� }|S )zS Normalize the email address by lowercasing the domain part of it. � �@� )�strip�rsplit� ValueError�lower)�cls�emailZ email_nameZdomain_part� r �^/home/gouroczh/virtualenv/pat/3.9/lib/python3.9/site-packages/django/contrib/auth/base_user.py�normalize_email s zBaseUserManager.normalize_email� �7abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789c C s t jdtdd� t||�S )z� Generate a random password with the given length and given allowed_chars. The default value of allowed_chars does not have "I" or "O" or letters and digits that look similar -- just to avoid confusion. z5BaseUserManager.make_random_password() is deprecated.� )�category� stacklevel)�warnings�warnr r )�self�length� allowed_charsr r r �make_random_password$ s �z$BaseUserManager.make_random_passwordc C s | j f i | jj|i��S �N)�get�model�USERNAME_FIELD)r �usernamer r r �get_by_natural_key5 s z"BaseUserManager.get_by_natural_keyN)r r )�__name__� __module__�__qualname__�classmethodr r# r) r r r r r s � r c s� e Zd Zejed�dd�Zejed�ddd�ZdZ g Z dZG dd � d �Zd d� Z � fdd �Zdd� Zdd� Zdd� Zedd� �Zedd� �Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd*d$d%�Zed&d'� �Zed(d)� �Z� ZS )+�AbstractBaseUser�password� )� max_lengthz last loginT)�blank�nullNc @ s e Zd ZdZdS )zAbstractBaseUser.MetaTN)r* r+ r, Zabstractr r r r �MetaE s r4 c C s | � � S r$ ��get_username�r r r r �__str__H s zAbstractBaseUser.__str__c s4 t � j|i |�� | jd ur0t�| j| � d | _d S r$ )�super�save� _passwordr Zpassword_changed)r �args�kwargs�� __class__r r r: K s zAbstractBaseUser.savec C s t | | j�S )z"Return the username for this User.)�getattrr'