U
    ²|jÚ  ã                   @   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 d dl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.ee
ƒd-d.„ ƒZ/dS )/é    N)ÚLocal)Úapps)ÚImproperlyConfigured)Úsetting_changed)ÚconnectionsÚrouter)ÚConnectionRouter)ÚSignalÚreceiver)Útimezone©ÚFORMAT_SETTINGSÚreset_format_cache)Úempty)Úimport_string)ÚPY312Z	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-mrc8ffx5/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r¨t	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_zone;   s$    

r2   c                 K   s   | dkrt ƒ jt_d S )NZDATABASE_ROUTERS)r   Zroutersr   ©r   r   r   r   r   Úclear_routers_cacheW   s    r4   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>   Ú	TEMPLATESÚDEBUGr   r   )Úengines)ÚEngine)Úget_default_renderer)Zdjango.templater7   Z	templatesr0   Z
_templatesZ_enginesZdjango.template.enginer8   Úget_defaultr"   Zdjango.forms.renderersr9   )r   r   r7   r8   r9   r   r   r   Úreset_template_engines]   s    
r;   c                 K   s^   ddl m} ddlm}m} | dkrZz|`W n tk
r@   Y nX d |_i |_t	|_
t	|_
d S )Nr   ©Ústaticfiles_storage©Údefault_storageÚstorages)ZSTORAGESÚSTATIC_ROOTÚ
STATIC_URL)Ú"django.contrib.staticfiles.storager=   Údjango.core.files.storager?   r@   Úbackendsr0   Z	_backendsÚ	_storagesr   Ú_wrapped)r   r   r=   r?   r@   r   r   r   Ústorages_changedt   s    rH   c                 K   s   | dkrddl m} i |_d S )NZSERIALIZATION_MODULESr   )Úserializers)Zdjango.corerI   Z_serializers)r   r   rI   r   r   r   Úclear_serializers_cache‰   s    rJ   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ÚLOCALE_PATHSÚ	LANGUAGESr   r   >   rL   rM   )r#   r    Ú_defaultr   Ú_activer$   Zcheck_for_languager"   )r   r   r    r   r   r   Úlanguage_changed‘   s    rP   c                 K   s   | t ks| dkrtƒ  d S )NZUSE_THOUSAND_SEPARATORr   r3   r   r   r   Úlocalize_settings_changedŸ   s    rQ   c                 K   s`   | dkr\ddl m} ddlm}m} z|`W n tk
r@   Y nX t|d ƒƒ |j|< t	|_
d S )NZDEFAULT_FILE_STORAGEr   )ÚDEFAULT_STORAGE_ALIASr>   r(   )Údjango.confrR   rD   r?   r@   rE   r0   r   rF   r   rG   )r   r   rR   r?   r@   r   r   r   Úfile_storage_changed¦   s    rT   c                 K   s.   | r*|t kr*tjd|› d�tr"dndd� d S )NzOverriding setting z! can lead to unexpected behavior.é   é   )Ú
stacklevel)ÚCOMPLEX_OVERRIDE_SETTINGSÚwarningsÚwarnr   )Zenterr   r   r   r   r   Úcomplex_setting_changed´   s
    

þr[   c                 K   s*   | dkr&ddl m}m} |ƒ  |d ƒ d S )NZROOT_URLCONFr   )Úclear_url_cachesÚset_urlconf)Zdjango.urlsr\   r]   )r   r   r\   r]   r   r   r   Úroot_urlconf_changed¿   s    r^   c                 K   sp   | dkrddl m} t|_| dkrlddlm} ddlm} z|`W n t	k
rV   Y nX t
|d ƒƒ |j|< d S )N>   ÚSTATICFILES_STORAGErA   rB   r   r<   r_   )ÚSTATICFILES_STORAGE_ALIAS)r@   r(   )rC   r=   r   rG   rS   r`   rD   r@   rE   r0   r   rF   )r   r   r=   r`   r@   r   r   r   Ústatic_storage_changedÈ   s    ra   c                 K   s    | dkrddl m} | ¡  d S )N>   ÚSTATICFILES_DIRSrA   r   r   )r!   r   r"   )r   r   r   r   r   r   Ústatic_finders_changedß   s    rc   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_validationrd   r"   )r   r   rd   r   r   r   Ú auth_password_validators_changedê   s    re   c           	      K   sš   | dkr–t  ¡  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)rE   )Úforms)Úmodwsgi)Úchangepassword)Úviews)r   Úclear_cacheZdjango.contrib.authrf   r   rE   Ú	UserModelrg   Zdjango.contrib.auth.handlersrh   Z'django.contrib.auth.management.commandsri   rj   )	r   r   rf   rl   rE   rg   rh   ri   rj   r   r   r   Úuser_model_swappedô   s"    
rm   )0r,   r+   rY   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django.utils.module_loadingr   Zdjango.utils.versionr   Ztemplate_renderedrX   r   r%   r2   r4   r;   rH   rJ   rP   rQ   rT   r[   r^   ra   rc   re   rm   r   r   r   r   Ú<module>   s`   
	















	