3
(h\                 @   st  d dl Z 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	m
Z
 d dlmZ d dlmZmZ d dlmZ d dlmZ ed	d
gd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#dS ))    N)apps)setting_changed)connectionsrouter)ConnectionRouter)Signalreceiver)timezone)emptytemplatecontext)Zproviding_argsZ	DATABASESc              K   s&   | d dkr"ddl m} tj |_d S )NsettingZCACHESr   )caches)Zdjango.core.cacher   	threadinglocalZ_caches)kwargsr    r   7/tmp/pip-install-q3hcpn_q/Django/django/test/signals.pyclear_cache_handlers   s    r   c              K   s^   | d dkrZddl m} |j  ddlm} |j  ddlm} |j  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jdd  tj  tjj  | d dkrxt	j
 D ]x}y|`W n tk
r   Y nX y|`W n tk
r   Y nX |jj }|rd|jrd|j }|j||jg W d Q R X qdW d S )Nr   	TIME_ZONEtzsetvalueZTZUSE_TZ>   r   r"   )hasattrtimeosenvironpopr    r	   Zget_default_timezoner   r   allAttributeErrorZtimezone_nameopsZset_time_zone_sqlcursorexecute)r   connZtz_sqlr+   r   r   r   update_connections_time_zone/   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_cacheN   s    r/   c              K   s\   | d d	krXddl m} y|`W n tk
r4   Y nX d |_i |_ddlm} |jj	  d S )
Nr   	TEMPLATESDEBUGFILE_CHARSETr   r   )engines)Engine>   r2   r   r0   r1   )
Zdjango.templater3   Z	templatesr)   Z
_templatesZ_enginesZdjango.template.enginer4   get_defaultr   )r   r3   r4   r   r   r   reset_template_enginesT   s       r6   c              K   s"   | d dkrddl m} i |_d S )Nr   ZSERIALIZATION_MODULESr   )serializers)Zdjango.corer7   Z_serializers)r   r7   r   r   r   clear_serializers_cacheg   s    r8   c              K   sT   | d dkr(ddl m} d |_tj |_| d dkrPddl m} i |_|jj  d S )	Nr   	LANGUAGESLANGUAGE_CODELOCALE_PATHSr   )r   >   r:   r;   r9   >   r;   r9   )	r   r   _defaultr   r   _activer   Zcheck_for_languager   )r   r   r   r   r   language_changedn   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_changedz   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   STATICFILES_STORAGESTATIC_ROOT
STATIC_URLr   )staticfiles_storage>   rL   rM   rK   )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} |j  d S )Nr   STATICFILES_DIRSrL   r   )r   >   rP   rL   )r   r   r   )r   r   r   r   r   static_finders_changed   s
     rQ   c              K   s$   | d dkr ddl m} |j  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 j  d S )Nr   ZAUTH_USER_MODEL)r   clear_cache)r   r   r   r   user_model_swapped   s    rU   )$r%   r   r$   rE   Zdjango.appsr   Zdjango.core.signalsr   Z	django.dbr   r   Zdjango.db.utilsr   Zdjango.dispatchr   r   Zdjango.utilsr	   Zdjango.utils.functionalr
   Ztemplate_renderedrD   r   r   r.   r/   r6   r8   r>   rA   rG   rJ   rO   rQ   rS   rU   r   r   r   r   <module>   s4   	
