B
    	`p                 @   s   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z
 dd Zdd	 Ze
jd
k	r~d dlmZ edZejjeedd d
S )    )get_user_model)signals)import_string)router)settingsc             C   s"   | j tji}| f |}|  |S )z
    Returns User model instance that would be referenced by guardian when
    permissions are checked against users that haven't signed into the system.

    :param User: User model - result of ``django.contrib.auth.get_user_model``.
    )USERNAME_FIELDguardian_settingsANONYMOUS_USER_NAMEZset_unusable_password)Userkwargsuser r   K/home/dcms/DCMS/lib/python3.7/site-packages/guardian/management/__init__.pyget_init_anonymous_user   s    
r   c             K   s   t  }t|d |sdS y(|jtji}|j|d jf | W n8 |j	k
rz   t
tj}||}|j|d d Y nX dS )zM
    Creates anonymous User instance with id and username from settings.
    usingN)r   )r   r   Zallow_migrate_modelr   r   r	   Zobjectsr   getZDoesNotExistr   ZGET_INIT_ANONYMOUS_USERsave)senderr   r
   lookupZretrieve_anonymous_functionr   r   r   r   create_anonymous_user   s    r   N)appsZguardianz)guardian.management.create_anonymous_user)r   Zdispatch_uid)Zdjango.contrib.authr   Zdjango.db.modelsr   Zdjango.utils.module_loadingr   Z	django.dbr   Zguardian.confr   r   r   r   r	   Zdjango.appsr   Zget_app_configZguardian_appZpost_migrateconnectr   r   r   r   <module>   s   


