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 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)emptyZ	DATABASESc                 K   s@   | dkrddl m}m} |  |d  |_|_t |_d S d S )NZCACHESr   )cachesclose_caches)Zdjango.core.cacher   r   Zconfigure_settingsZ	_settingssettingsr   Z_connections)settingkwargsr   r    r   z/home/ubuntu/experiments/live_experiments/Pythonexperiments/Otree/venv/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_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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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_zone9   s,   


r/   c                 K   s   | dkrt  jt_d S d S )NZDATABASE_ROUTERS)r   Zroutersr   r   r   r   r   r   clear_routers_cacheU   s   r1   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>   DEBUGZ	TEMPLATESr   r   )engines)Engineget_default_renderer)Zdjango.templater3   Z	templatesr-   Z
_templatesZ_enginesZdjango.template.enginer4   get_defaultr    django.forms.renderersr6   )r   r   r3   r4   r6   r   r   r   reset_template_engines[   s   
r9   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)ZSTORAGESSTATIC_ROOT
STATIC_URL)"django.contrib.staticfiles.storager;   Zdjango.core.files.storager<   r=   backendsr-   Z	_backendsZ	_storagesr   _wrapped)r   r   r;   r<   r=   r   r   r   storages_changedr   s   
rC   c                 K   s"   | dkrddl m} i |_d S d S )NZSERIALIZATION_MODULESr   )serializers)Zdjango.corerD   Z_serializers)r   r   rD   r   r   r   clear_serializers_cache   s   
rE   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>   ZLANGUAGE_CODELOCALE_PATHS	LANGUAGESr   r   >   rF   rG   )r!   r   _defaultr   _activer"   Zcheck_for_languager    )r   r   r   r   r   r   language_changed   s   rJ   c                 K   s   | t v s| dkrt  d S d S )NZUSE_THOUSAND_SEPARATORr   r0   r   r   r   localize_settings_changed   s   
rK   c                 K   s.   | r|t v rtjd| ddd d S d S d S )NzOverriding setting z! can lead to unexpected behavior.   )
stacklevel)COMPLEX_OVERRIDE_SETTINGSwarningswarn)Zenterr   r   r   r   r   complex_setting_changed   s   

rQ   c                 K   s.   | dkrddl m}m} |  |d  d S d S )NZROOT_URLCONFr   )clear_url_cachesset_urlconf)Zdjango.urlsrR   rS   )r   r   rR   rS   r   r   r   root_urlconf_changed   s
   rT   c                 K   s"   | dv rddl m} t|_d S d S )N>   r?   r>   r   r:   )r@   r;   r   rB   )r   r   r;   r   r   r   static_storage_changed   s   
rU   c                 K   s$   | dv rddl m} |  d S d S )N>   ZSTATICFILES_DIRSr>   r   r   )r   r   r    )r   r   r   r   r   r   static_finders_changed   s   rV   c                 K   $   | dkrddl m} |  d S d S )NZFORM_RENDERERr   r5   )r8   r6   r    )r   r   r6   r   r   r   form_renderer_changed   s   rX   c                 K   rW   )NZAUTH_PASSWORD_VALIDATORSr   )get_default_password_validators)Z'django.contrib.auth.password_validationrY   r    )r   r   rY   r   r   r    auth_password_validators_changed   s   rZ   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 )	NZAUTH_USER_MODELr   )get_user_model)rA   )forms)modwsgi)changepassword)views)r   clear_cacheZdjango.contrib.authr[   r   rA   	UserModelr\   Zdjango.contrib.auth.handlersr]   Z'django.contrib.auth.management.commandsr^   r_   )	r   r   r[   ra   rA   r\   r]   r^   r_   r   r   r   user_model_swapped   s&   

rb   ),r)   r(   rO   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_renderedrN   r   r#   r/   r1   r9   rC   rE   rJ   rK   rQ   rT   rU   rV   rX   rZ   rb   r   r   r   r   <module>   s^    
	
















	