o
    uvXj˜  ã                   @   sl   d dl mZ d dlZd dlZd dlZd dlmZ d dlmZm	Z	 d dl
mZ d dlmZ G dd„ deƒZdS )	é    )Úprint_functionN)Úget_user_model)ÚBaseCommandÚCommandError)ÚRemovedInNextVersionWarning)Úsignalcommandc                   @   s(   e Zd ZdZdZdd„ Zedd„ ƒZdS )ÚCommandz<Clone of the UNIX program `passwd`, for django.contrib.auth.Fc                 C   s   |j ddtd� d S )NÚusernameú?)ÚnargsÚtype)Úadd_argumentÚstr)ÚselfÚparser© r   úi/var/www/html/myproject/venv/lib/python3.10/site-packages/django_extensions/management/commands/passwd.pyÚadd_arguments   s   zCommand.add_argumentsc           	      O   sü   d}t | j |¡tjd� tj|tdd� |d pt 	¡ }t
ƒ }z|j |¡}W n |jy6   td| ƒ‚w t d| ƒ d }}d||fv sK||krqt ¡ }t d	¡}||kr]t d
ƒ n
d||fv rgtdƒ‚d||fv sK||ksK| |¡ | ¡  d| S )Nz}`django_extensions.management.commands.passwd` is deprecated. You should use built-in `changepassword` django command instead)Úfileé   )Ú
stacklevelr	   zuser %s does not existzChanging password for user: %sÚ zPassword (again): z!Passwords do not match, try againÚabortedz*Password changed successfully for user %s
)ÚprintÚstyleÚERRORÚsysÚstderrÚwarningsÚwarnr   ÚgetpassÚgetuserr   ÚobjectsÚget_by_natural_keyÚDoesNotExistr   Úset_passwordÚsave)	r   ÚargsÚoptionsÚwarn_msgr	   ÚUserÚuÚp1Úp2r   r   r   Úhandle   s.   ÿ

ú
zCommand.handleN)Ú__name__Ú
__module__Ú__qualname__ÚhelpÚrequires_system_checksr   r   r.   r   r   r   r   r      s    r   )Ú
__future__r   r   r    r   Údjango.contrib.authr   Údjango.core.management.baser   r   Údjango.utils.deprecationr   Ú"django_extensions.management.utilsr   r   r   r   r   r   Ú<module>   s   