U
    8ÄT_,  ã                   @   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} |ƒ  tƒ |_d S )NÚsettingZCACHESr   )ÚcachesÚclose_caches)Zdjango.core.cacher   r   r   Z_caches)Úkwargsr   r   © r   ú7/tmp/pip-unpacked-wheel-dv63caxw/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¬t	 
¡ D ]H}z|`W n tk
r‚   Y nX z|`W n tk
r    Y nX | ¡  qbd 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_zone3   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_cacheO   s    r1   c                  K   sp   | d dkrlddl m} z|`W n tk
r4   Y nX d |_i |_ddlm} |j 	¡  ddl
m} | 	¡  d S )Nr   >   Ú	TEMPLATESr   ÚDEBUGr   )Úengines)ÚEngine)Úget_default_renderer)Zdjango.templater4   Z	templatesr-   Z
_templatesZ_enginesZdjango.template.enginer5   Úget_defaultr   Zdjango.forms.renderersr6   )r   r4   r5   r6   r   r   r   Úreset_template_enginesU   s    
r8   c                  K   s"   | d dkrddl m} i |_d S )Nr   ZSERIALIZATION_MODULESr   )Úserializers)Zdjango.corer9   Z_serializers)r   r9   r   r   r   Úclear_serializers_cachei   s    r:   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   >   r<   r=   )r    r   Ú_defaultr   Ú_activer!   Zcheck_for_languager   )r   r   r   r   r   Úlanguage_changedp   s    r@   c                  K   s"   | d t ks| d dkrtƒ  d S )Nr   ZUSE_THOUSAND_SEPARATORr   r0   r   r   r   Úlocalize_settings_changed|   s    rA   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.storagerB   r   Ú_wrapped)r   rB   r   r   r   Úfile_storage_changed‚   s    rD   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Úwarnr0   r   r   r   Úcomplex_setting_changed‰   s    ÿÿrJ   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.urlsrK   rL   )r   rK   rL   r   r   r   Úroot_urlconf_changed’   s    rM   c                  K   s"   | d dkrddl m} t|_d S )Nr   >   Ú
STATIC_URLÚSTATIC_ROOTÚSTATICFILES_STORAGEr   )Ústaticfiles_storage)Z"django.contrib.staticfiles.storagerQ   r   rC   )r   rQ   r   r   r   Ústatic_storage_changedš   s    rR   c                  K   s$   | d dkr ddl m} | ¡  d S )Nr   >   ÚSTATICFILES_DIRSrO   r   r   )r   r   r   )r   r   r   r   r   Ústatic_finders_changed¥   s    rT   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_validationrU   r   )r   rU   r   r   r   Ú auth_password_validators_changed¯   s    rV   c                  K   sž   | d 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 )
Nr   ZAUTH_USER_MODELr   )Úget_user_model)Úbackends)Úforms)Úmodwsgi)Úchangepassword)Úviews)r   Úclear_cacheZdjango.contrib.authrW   r   rX   Ú	UserModelrY   Zdjango.contrib.auth.handlersrZ   Z'django.contrib.auth.management.commandsr[   r\   )r   rW   r^   rX   rY   rZ   r[   r\   r   r   r   Úuser_model_swapped¶   s"    
r_   )+r)   r(   rH   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_renderedrG   r   r"   r/   r1   r8   r:   r@   rA   rD   rJ   rM   rR   rT   rV   r_   r   r   r   r   Ú<module>   sX   













	
