U
    }®c—  ã                   @   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-unpacked-wheel-7m9rsep5/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_zone4   s$    

r0   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    r2   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   >   r   ÚDEBUGÚ	TEMPLATESr   )Úengines)ÚEngine)Úget_default_renderer)Zdjango.templater5   Z	templatesr.   Z
_templatesZ_enginesZdjango.template.enginer6   Úget_defaultr    Zdjango.forms.renderersr7   )r   r5   r6   r7   r   r   r   Úreset_template_enginesV   s    
r9   c                  K   s"   | d dkrddl m} i |_d S )Nr   ZSERIALIZATION_MODULESr   )Úserializers)Zdjango.corer:   Z_serializers)r   r:   r   r   r   Úclear_serializers_cachej   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   >   Ú	LANGUAGESÚLOCALE_PATHSÚLANGUAGE_CODEr   r   >   r<   r=   )r!   r   Ú_defaultr   Ú_activer"   Zcheck_for_languager    )r   r   r   r   r   Úlanguage_changedq   s    rA   c                  K   s"   | d t ks| d dkrtƒ  d S )Nr   ZUSE_THOUSAND_SEPARATORr   r1   r   r   r   Úlocalize_settings_changed}   s    rB   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.storagerC   r   Ú_wrapped)r   rC   r   r   r   Úfile_storage_changedƒ   s    rE   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Úwarnr1   r   r   r   Úcomplex_setting_changedŠ   s    ÿÿrK   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.urlsrL   rM   )r   rL   rM   r   r   r   Úroot_urlconf_changed“   s    rN   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.storagerR   r   rD   )r   rR   r   r   r   Ústatic_storage_changed›   s    rS   c                  K   s$   | d dkr ddl m} | ¡  d S )Nr   >   rO   ÚSTATICFILES_DIRSr   r   )r   r   r    )r   r   r   r   r   Ústatic_finders_changed¦   s    rU   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_validationrV   r    )r   rV   r   r   r   Ú auth_password_validators_changed°   s    rW   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.authrX   r   rY   Ú	UserModelrZ   Zdjango.contrib.auth.handlersr[   Z'django.contrib.auth.management.commandsr\   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   













	
