U
    gd                     @   s  d dl Z d dlZd dlZ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mZ d dlmZ d dlmZmZ d d	lmZ d d
lmZmZ d dlmZ e ZdhZee
dd Zee
dd Zee
dd Zee
dd Zee
dd Z ee
dd Z!ee
dd Z"ee
dd Z#ee
dd Z$ee
dd  Z%ee
d!d" Z&ee
d#d$ Z'ee
d%d& Z(ee
d'd( Z)ee
d)d* Z*dS )+    N)Local)apps)ImproperlyConfigured)setting_changed)connectionsrouter)ConnectionRouter)Signalreceiver)timezoneFORMAT_SETTINGSreset_format_cache)emptyZ	DATABASESc                 K   s<   | dkr8ddl m}m} |  |d  |_|_t |_d S )NZCACHESr   )cachesclose_caches)Zdjango.core.cacher   r   Zconfigure_settingsZ	_settingssettingsr   Z_connections)settingkwargsr   r    r   7/tmp/pip-unpacked-wheel-_p7c4jiu/django/test/signals.pyclear_cache_handlers   s
    r   c                 K   sZ   | dkrVddl m} |  ddlm} |  ddlm} |  ddlm} i |_	d S )NINSTALLED_APPSr   
get_finder)get_commands)get_app_template_dirs
trans_real)
"django.contrib.staticfiles.findersr   cache_clearZdjango.core.managementr   Zdjango.template.utilsr   django.utils.translationr   _translations)r   r   r   r   r   r   r   r   r   update_installed_apps$   s    r#   c              	   K   s   | dkrJt tdr@|d r*|d tjd< ntjdd  t  tj  | dkrt	j
ddD ]H}z|`W n tk
r~   Y nX z|`W n tk
r   Y nX |  q^d S )N	TIME_ZONEtzsetvalueZTZ>   USE_TZr$   T)Zinitialized_only)hasattrtimeosenvironpopr%   r   Zget_default_timezoner    r   allAttributeErrorZtimezone_nameZensure_timezone)r   r   connr   r   r   update_connections_time_zone9   s$    

r0   c                 K   s   | dkrt  jt_d S )NZDATABASE_ROUTERS)r   Zroutersr   r   r   r   r   r   clear_routers_cacheU   s    r2   c                 K   sl   | dkrhddl m} z|`W n tk
r0   Y nX d |_i |_ddlm} |j	  ddl
m} |	  d S )N>   DEBUGr   	TEMPLATESr   )engines)Engine)get_default_renderer)Zdjango.templater5   Z	templatesr.   Z
_templatesZ_enginesZdjango.template.enginer6   get_defaultr    Zdjango.forms.renderersr7   )r   r   r5   r6   r7   r   r   r   reset_template_engines[   s    
r9   c                 K   s   | dkrddl m} i |_d S )NZSERIALIZATION_MODULESr   )serializers)Zdjango.corer:   Z_serializers)r   r   r:   r   r   r   clear_serializers_cacher   s    r;   c                 K   sJ   | dkr"ddl m} d |_t |_| dkrFddl m} i |_|j  d S )N>   LANGUAGE_CODE	LANGUAGESLOCALE_PATHSr   r   >   r=   r>   )r!   r   _defaultr   _activer"   Zcheck_for_languager    )r   r   r   r   r   r   language_changedz   s    rA   c                 K   s   | t ks| dkrt  d S )NZUSE_THOUSAND_SEPARATORr   r1   r   r   r   localize_settings_changed   s    rB   c                 K   s   | dkrddl m} t|_d S )NZDEFAULT_FILE_STORAGEr   )default_storage)Zdjango.core.files.storagerC   r   _wrapped)r   r   rC   r   r   r   file_storage_changed   s    rE   c                 K   s&   | r"|t kr"tjd| ddd d S )NzOverriding setting z! can lead to unexpected behavior.   )
stacklevel)COMPLEX_OVERRIDE_SETTINGSwarningswarn)Zenterr   r   r   r   r   complex_setting_changed   s
    
rK   c                 K   s*   | dkr&ddl m}m} |  |d  d S )NZROOT_URLCONFr   )clear_url_cachesset_urlconf)Zdjango.urlsrL   rM   )r   r   rL   rM   r   r   r   root_urlconf_changed   s    rN   c                 K   s   | dkrddl m} t|_d S )N>   STATIC_ROOT
STATIC_URLSTATICFILES_STORAGEr   )staticfiles_storage)Z"django.contrib.staticfiles.storagerR   r   rD   )r   r   rR   r   r   r   static_storage_changed   s    rS   c                 K   s    | dkrddl m} |  d S )N>   rO   STATICFILES_DIRSr   r   )r   r   r    )r   r   r   r   r   r   static_finders_changed   s    rU   c                 K   s    | dkrddl m} |  d S )NZAUTH_PASSWORD_VALIDATORSr   )get_default_password_validators)Z'django.contrib.auth.password_validationrV   r    )r   r   rV   r   r   r    auth_password_validators_changed   s    rW   c           	      K   s   | dkrt   zddlm} | }W n tk
r:   Y n\X ddlm} ||_ddlm} ||_ddlm	} ||_ddl
m} ||_ddlm} ||_d S )	NZAUTH_USER_MODELr   )get_user_model)backends)forms)modwsgi)changepassword)views)r   clear_cacheZdjango.contrib.authrX   r   rY   	UserModelrZ   Zdjango.contrib.auth.handlersr[   Z'django.contrib.auth.management.commandsr\   r]   )	r   r   rX   r_   rY   rZ   r[   r\   r]   r   r   r   user_model_swapped   s"    
r`   )+r*   r)   rI   Zasgiref.localr   Zdjango.appsr   Zdjango.core.exceptionsr   Zdjango.core.signalsr   Z	django.dbr   r   Zdjango.db.utilsr   Zdjango.dispatchr	   r
   Zdjango.utilsr   Zdjango.utils.formatsr   r   Zdjango.utils.functionalr   Ztemplate_renderedrH   r   r#   r0   r2   r9   r;   rA   rB   rE   rK   rN   rS   rU   rW   r`   r   r   r   r   <module>   sX   
	














	