B
    CVvg—  ã               @   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 dkr<ddl m}m} |ƒ  | d ¡ |_|_tƒ |_d S )NÚsettingZCACHESr   )ÚcachesÚclose_caches)Zdjango.core.cacher   r   Zconfigure_settingsZ	_settingsÚsettingsr   Z_connections)Úkwargsr   r   © r   ú7/tmp/pip-install-o3oxmrkh/Django/django/test/signals.pyÚclear_cache_handlers   s
    r   c              K   s^   | d dkrZddl m} | ¡  ddlm} | ¡  ddlm} | ¡  ddlm} i |_	d S )Nr   Ú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   Úupdate_installed_apps#   s    r    c           	   K   s´   | d dkrNt tdƒrD| d r.| d tjd< ntj dd ¡ t ¡  tj ¡  | d dkr°xTt	 
¡ D ]H}y|`W n tk
r„   Y nX y|`W n tk
r¢   Y nX | ¡  qdW d S )Nr   Ú	TIME_ZONEÚtzsetÚvalueZTZ>   r!   ÚUSE_TZ)ÚhasattrÚtimeÚosÚenvironÚpopr"   r   Zget_default_timezoner   r   ÚallÚAttributeErrorZtimezone_nameZensure_timezone)r   Úconnr   r   r   Úupdate_connections_time_zone4   s$    

r-   c              K   s   | d dkrt ƒ jt_d S )Nr   ZDATABASE_ROUTERS)r   Zroutersr   )r   r   r   r   Úclear_routers_cacheP   s    r.   c              K   sp   | d dkrlddl m} y|`W n tk
r4   Y nX d |_i |_ddlm} |j 	¡  ddl
m} | 	¡  d S )Nr   >   Ú	TEMPLATESÚDEBUGr   r   )Úengines)ÚEngine)Úget_default_renderer)Zdjango.templater1   Z	templatesr+   Z
_templatesZ_enginesZdjango.template.enginer2   Úget_defaultr   Zdjango.forms.renderersr3   )r   r1   r2   r3   r   r   r   Úreset_template_enginesV   s    
r5   c              K   s"   | d dkrddl m} i |_d S )Nr   ZSERIALIZATION_MODULESr   )Úserializers)Zdjango.corer6   Z_serializers)r   r6   r   r   r   Úclear_serializers_cachej   s    r7   c              K   sR   | d dkr&ddl m} d |_tƒ |_| d dkrNddl m} i |_|j ¡  d S )Nr   >   ÚLANGUAGE_CODEÚLOCALE_PATHSÚ	LANGUAGESr   )r   >   r9   r:   )r   r   Ú_defaultr   Ú_activer   Zcheck_for_languager   )r   r   r   r   r   Úlanguage_changedq   s    r=   c              K   s"   | d t ks| d dkrtƒ  d S )Nr   ZUSE_THOUSAND_SEPARATOR)r   r   )r   r   r   r   Úlocalize_settings_changed}   s    r>   c              K   s"   | d dkrddl m} t|_d S )Nr   ZDEFAULT_FILE_STORAGEr   )Údefault_storage)Zdjango.core.files.storager?   r   Ú_wrapped)r   r?   r   r   r   Úfile_storage_changedƒ   s    rA   c              K   s.   | d r*| d t kr*tjd| d  dd� d S )NZenterr   z6Overriding setting %s can lead to unexpected behavior.é   )Ú
stacklevel)ÚCOMPLEX_OVERRIDE_SETTINGSÚwarningsÚwarn)r   r   r   r   Úcomplex_setting_changedŠ   s    rG   c              K   s.   | d dkr*ddl m}m} |ƒ  |d ƒ d S )Nr   ZROOT_URLCONFr   )Úclear_url_cachesÚset_urlconf)Zdjango.urlsrH   rI   )r   rH   rI   r   r   r   Úroot_urlconf_changed“   s    rJ   c              K   s"   | d dkrddl m} t|_d S )Nr   >   ÚSTATIC_ROOTÚSTATICFILES_STORAGEÚ
STATIC_URLr   )Ústaticfiles_storage)Z"django.contrib.staticfiles.storagerN   r   r@   )r   rN   r   r   r   Ústatic_storage_changed›   s    rO   c              K   s$   | d dkr ddl m} | ¡  d S )Nr   >   rK   ÚSTATICFILES_DIRSr   )r   )r   r   r   )r   r   r   r   r   Ústatic_finders_changed¦   s    rQ   c              K   s$   | d dkr ddl m} | ¡  d S )Nr   ZAUTH_PASSWORD_VALIDATORSr   )Úget_default_password_validators)Z'django.contrib.auth.password_validationrR   r   )r   rR   r   r   r   Ú auth_password_validators_changed°   s    rS   c              K   sž   | d dkršt  ¡  y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 )
Nr   ZAUTH_USER_MODELr   )Úget_user_model)Úbackends)Úforms)Úmodwsgi)Úchangepassword)Úviews)r   Úclear_cacheZdjango.contrib.authrT   r   rU   Ú	UserModelrV   Zdjango.contrib.auth.handlersrW   Z'django.contrib.auth.management.commandsrX   rY   )r   rT   r[   rU   rV   rW   rX   rY   r   r   r   Úuser_model_swapped¹   s"    
r\   )+r'   r&   rE   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_renderedrD   r   r    r-   r.   r5   r7   r=   r>   rA   rG   rJ   rO   rQ   rS   r\   r   r   r   r   Ú<module>   s:   		
	