a
    [f                     @   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 d dl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.ee
d-d. Z/dS )/    N)Local)apps)ImproperlyConfigured)setting_changed)connectionsrouter)ConnectionRouter)Signalreceiver)timezoneFORMAT_SETTINGSreset_format_cache)empty)import_string)PY312Z	DATABASESc                 K   s<   | dkr8ddl m}m} |  |d  |_|_t |_d S )NZCACHESr   )cachesclose_caches)Zdjango.core.cacher   r   Zconfigure_settingsZ	_settingssettingsr   Z_connections)settingkwargsr   r    r   eC:\Users\91910\OneDrive\Desktop\vts_admin_rebuild-master\vts\Lib\site-packages\django/test/signals.pyclear_cache_handlers   s
    r   c                 K   sZ   | dkrVddl m} |  ddlm} |  ddlm} |  ddlm} i |_	d S )N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   r   update_installed_apps&   s    r%   c              	   K   s   | dkrJt tdr@|d r*|d tjd< ntjdd  t  tj  | dv rt	j
ddD ]D}z|`W n ty|   Y n0 z|`W n ty   Y n0 |  q^d S )N	TIME_ZONEtzsetvalueZTZ>   ZUSE_TZr&   T)Zinitialized_only)hasattrtimeosenvironpopr'   r   Zget_default_timezoner"   r   allAttributeErrorZtimezone_nameZensure_timezone)r   r   connr   r   r   update_connections_time_zone;   s$    

r1   c                 K   s   | dkrt  jt_d S )NZDATABASE_ROUTERS)r   Zroutersr   r   r   r   r   r   clear_routers_cacheW   s    r3   c                 K   sj   | dv rfddl m} z|`W n ty.   Y n0 d |_i |_ddlm} |j	  ddl
m} |	  d S )N>   Z	TEMPLATESr   DEBUGr   )engines)Engine)get_default_renderer)Zdjango.templater5   Z	templatesr/   Z
_templatesZ_enginesZdjango.template.enginer6   Zget_defaultr"   Zdjango.forms.renderersr7   )r   r   r5   r6   r7   r   r   r   reset_template_engines]   s    
r8   c                 K   s\   ddl m} ddlm}m} | dv rXz|`W n ty>   Y n0 d |_i |_t	|_
t	|_
d S )Nr   staticfiles_storagedefault_storagestorages)ZSTORAGESSTATIC_ROOT
STATIC_URL)"django.contrib.staticfiles.storager:   django.core.files.storager<   r=   backendsr/   Z	_backends	_storagesr   _wrapped)r   r   r:   r<   r=   r   r   r   storages_changedt   s    rE   c                 K   s   | dkrddl m} i |_d S )NZSERIALIZATION_MODULESr   )serializers)Zdjango.corerF   Z_serializers)r   r   rF   r   r   r   clear_serializers_cache   s    rG   c                 K   sJ   | dv r"ddl m} d |_t |_| dv rFddl m} i |_|j  d S )N>   	LANGUAGESZLANGUAGE_CODELOCALE_PATHSr   r   >   rH   rI   )r#   r    _defaultr   _activer$   Zcheck_for_languager"   )r   r   r    r   r   r   language_changed   s    rL   c                 K   s   | t v s| dkrt  d S )NZUSE_THOUSAND_SEPARATORr   r2   r   r   r   localize_settings_changed   s    rM   c                 K   s^   | dkrZddl m} ddlm}m} z|`W n ty>   Y n0 t|d  |j|< t	|_
d S )NZDEFAULT_FILE_STORAGEr   )DEFAULT_STORAGE_ALIASr;   r(   )django.confrN   rA   r<   r=   rB   r/   r   rC   r   rD   )r   r   rN   r<   r=   r   r   r   file_storage_changed   s    rP   c                 K   s.   | r*|t v r*tjd| dtr"dndd d S )NzOverriding setting z! can lead to unexpected behavior.      )
stacklevel)COMPLEX_OVERRIDE_SETTINGSwarningswarnr   )Zenterr   r   r   r   r   complex_setting_changed   s
    

rW   c                 K   s*   | dkr&ddl m}m} |  |d  d S )NZROOT_URLCONFr   )clear_url_cachesset_urlconf)Zdjango.urlsrX   rY   )r   r   rX   rY   r   r   r   root_urlconf_changed   s    rZ   c                 K   sn   | dv rddl m} t|_| dkrjddlm} ddlm} z|`W n t	yT   Y n0 t
|d  |j|< d S )N>   STATICFILES_STORAGEr>   r?   r   r9   r[   )STATICFILES_STORAGE_ALIAS)r=   r(   )r@   r:   r   rD   rO   r\   rA   r=   rB   r/   r   rC   )r   r   r:   r\   r=   r   r   r   static_storage_changed   s    r]   c                 K   s    | dv rddl m} |  d S )N>   ZSTATICFILES_DIRSr>   r   r   )r!   r   r"   )r   r   r   r   r   r   static_finders_changed   s    r^   c                 K   s    | dkrddl m} |  d S )NZAUTH_PASSWORD_VALIDATORSr   )get_default_password_validators)Z'django.contrib.auth.password_validationr_   r"   )r   r   r_   r   r   r    auth_password_validators_changed   s    r`   c           	      K   s   | dkrt   zddlm} | }W n ty8   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 )	NZAUTH_USER_MODELr   )get_user_model)rB   )forms)modwsgi)changepassword)views)r   clear_cacheZdjango.contrib.authra   r   rB   	UserModelrb   Zdjango.contrib.auth.handlersrc   Z'django.contrib.auth.management.commandsrd   re   )	r   r   ra   rg   rB   rb   rc   rd   re   r   r   r   user_model_swapped   s"    
rh   )0r+   r*   rU   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django.utils.module_loadingr   Zdjango.utils.versionr   Ztemplate_renderedrT   r   r%   r1   r3   r8   rE   rG   rL   rM   rP   rW   rZ   r]   r^   r`   rh   r   r   r   r   <module>   s`   
	















	