o
    #.h                     @   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)PY312	DATABASESc                 K   s@   | dkrddl m}m} |  |d  |_|_t |_d S d S )NCACHESr   )cachesclose_caches)django.core.cacher   r   configure_settings	_settingssettingsr   _connections)settingkwargsr   r    r   R/var/www/supernova/superenvnew/lib/python3.10/site-packages/django/test/signals.pyclear_cache_handlers   s   r   c                 K   s^   | dkr-ddl m} |  ddlm} |  ddlm} |  ddlm} i |_	d S d S )NINSTALLED_APPSr   
get_finder)get_commands)get_app_template_dirs
trans_real)
"django.contrib.staticfiles.findersr"   cache_cleardjango.core.managementr#   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r%t tdr |d r|d tjd< ntjdd  t  tj  | dv rRt	j
ddD ]$}z|`W n	 ty>   Y nw z|`W n	 tyL   Y nw |  q/d S d S )N	TIME_ZONEtzsetvalueTZ>   USE_TZr.   T)initialized_only)hasattrtimeosenvironpopr/   r   get_default_timezoner(   r   allAttributeErrortimezone_nameensure_timezone)r   r   connr   r   r   update_connections_time_zone;   s,   


r?   c                 K   s   | dkrt  jt_d S d S )NDATABASE_ROUTERS)r   routersr   r   r   r   r   r   clear_routers_cacheW   s   rC   c                 K   sn   | dv r5ddl m} z|`W n	 ty   Y nw d |_i |_ddlm} |j	  ddl
m} |	  d S d S )N>   DEBUG	TEMPLATESr    r   )engines)Engine)get_default_renderer)django.templaterF   	templatesr;   
_templates_enginesdjango.template.enginerG   get_defaultr(   django.forms.renderersrH   )r   r   rF   rG   rH   r   r   r   reset_template_engines]   s   
rP   c                 K   s`   ddl m} ddlm}m} | dv r.z|`W n	 ty   Y nw d |_i |_t	|_
t	|_
d S d S )Nr   staticfiles_storagedefault_storagestorages)STORAGESSTATIC_ROOT
STATIC_URL)"django.contrib.staticfiles.storagerR   django.core.files.storagerT   rU   backendsr;   	_backends	_storagesr   _wrapped)r   r   rR   rT   rU   r   r   r   storages_changedt   s   
r_   c                 K   s"   | dkrddl m} i |_d S d S )NSERIALIZATION_MODULESr   )serializers)django.corera   _serializers)r   r   ra   r   r   r   clear_serializers_cache   s   
rd   c                 K   sN   | dv rddl m} d |_t |_| dv r%ddl m} i |_|j  d S d S )N>   	LANGUAGESLOCALE_PATHSLANGUAGE_CODEr   r%   >   re   rf   )r+   r&   _defaultr   _activer,   check_for_languager(   )r   r   r&   r   r   r   language_changed   s   rk   c                 K   s   | t v s| dkrt  d S d S )NUSE_THOUSAND_SEPARATORr   rB   r   r   r   localize_settings_changed   s   
rm   c                 K   sb   | dkr/ddl m} ddlm}m} z|`W n	 ty   Y nw t|d  |j|< t	|_
d S d S )NDEFAULT_FILE_STORAGEr   )DEFAULT_STORAGE_ALIASrS   r0   )django.confro   rZ   rT   rU   r[   r;   r   r]   r   r^   )r   r   ro   rT   rU   r   r   r   file_storage_changed   s   
rq   c                 K   s6   | r|t v rtjd| dtrdndd d S d S d S )NzOverriding setting z! can lead to unexpected behavior.      )
stacklevel)COMPLEX_OVERRIDE_SETTINGSwarningswarnr   )enterr   r   r   r   r   complex_setting_changed   s   


ry   c                 K   s.   | dkrddl m}m} |  |d  d S d S )NROOT_URLCONFr   )clear_url_cachesset_urlconf)django.urlsr{   r|   )r   r   r{   r|   r   r   r   root_urlconf_changed   s
   r~   c                 K   sr   | dv rddl m} t|_| dkr7ddlm} ddlm} z|`W n	 t	y*   Y nw t
|d  |j|< d S d S )N>   rX   rW   STATICFILES_STORAGEr   rQ   r   )STATICFILES_STORAGE_ALIAS)rU   r0   )rY   rR   r   r^   rp   r   rZ   rU   r[   r;   r   r]   )r   r   rR   r   rU   r   r   r   static_storage_changed   s   r   c                 K   s$   | dv rddl m} |  d S d S )N>   rW   STATICFILES_DIRSr   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 d S )NAUTH_PASSWORD_VALIDATORSr   )get_default_password_validators)'django.contrib.auth.password_validationr   r(   )r   r   r   r   r   r    auth_password_validators_changed   s   r   c           	      K   s   | dkrMt   zddlm} | }W n
 ty   Y d S w ddlm} ||_ddlm} ||_ddlm	} ||_ddl
m} ||_ddlm} ||_d S d S )	NAUTH_USER_MODELr   )get_user_model)r[   )forms)modwsgi)changepassword)views)r   clear_cachedjango.contrib.authr   r   r[   	UserModelr   django.contrib.auth.handlersr   'django.contrib.auth.management.commandsr   r   )	r   r   r   r   r[   r   r   r   r   r   r   r   user_model_swapped   s&   

r   )0r6   r5   rv   asgiref.localr   django.appsr   django.core.exceptionsr   django.core.signalsr   	django.dbr   r   django.db.utilsr   django.dispatchr	   r
   django.utilsr   django.utils.formatsr   r   django.utils.functionalr   django.utils.module_loadingr   django.utils.versionr   template_renderedru   r   r-   r?   rC   rP   r_   rd   rk   rm   rq   ry   r~   r   r   r   r   r   r   r   r   <module>   sb    
	















	