a
    xdE                     @   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   K/var/www/html/Ranjet/env/lib/python3.9/site-packages/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v rt	
 D ]D}z|`W n ty   Y n0 z|`W n ty   Y n0 |  qbd S )Nr   	TIME_ZONEtzsetvalueZTZ>   ZUSE_TZr#   )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    r0   c                  K   sn   | d dv rjddl m} z|`W n ty2   Y n0 d |_i |_ddlm} |j	  ddl
m} |	  d S )Nr   >   r   DEBUGZ	TEMPLATESr   )engines)Engine)get_default_renderer)Zdjango.templater2   Z	templatesr,   Z
_templatesZ_enginesZdjango.template.enginer3   get_defaultr   Zdjango.forms.renderersr4   )r   r2   r3   r4   r   r   r   reset_template_enginesU   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_cachei   s    r8   c                  K   sR   | d dv r&ddl m} d |_t |_| d dv rNddl m} i |_|j  d S )Nr   >   LOCALE_PATHS	LANGUAGESZLANGUAGE_CODEr   r   >   r9   r:   )r    r   _defaultr   _activer!   Zcheck_for_languager   )r   r   r   r   r   language_changedp   s    r=   c                  K   s"   | d t v s| d dkrt  d S )Nr   ZUSE_THOUSAND_SEPARATORr   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 v r*tjd| d  dd d S )NZenterr   z6Overriding setting %s can lead to unexpected behavior.   )
stacklevel)COMPLEX_OVERRIDE_SETTINGSwarningswarnr/   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v rddl m} t|_d S )Nr   >   Z
STATIC_URLZSTATICFILES_STORAGESTATIC_ROOTr   )staticfiles_storage)Z"django.contrib.staticfiles.storagerL   r   r@   )r   rL   r   r   r   static_storage_changed   s    rM   c                  K   s$   | d dv r ddl m} |  d S )Nr   >   ZSTATICFILES_DIRSrK   r   r   )r   r   r   )r   r   r   r   r   static_finders_changed   s    rN   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_validationrO   r   )r   rO   r   r   r    auth_password_validators_changed   s    rP   c                  K   s   | d dkrt   zddlm} | }W n ty<   Y n\0 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.authrQ   r   rR   	UserModelrS   Zdjango.contrib.auth.handlersrT   Z'django.contrib.auth.management.commandsrU   rV   )r   rQ   rX   rR   rS   rT   rU   rV   r   r   r   user_model_swapped   s"    
rY   )+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.   r0   r6   r8   r=   r>   rA   rG   rJ   rM   rN   rP   rY   r   r   r   r   <module>   sX   













	
