
    g	                     f    d dl mZ d dlmZ d dlmZ  G d d      Z G d de      Z	 G d d	      Z
y
)    )Local)settings)cached_propertyc                   4    e Zd ZdZd Zd Zd Zd Zd Zd Z	y)	ConnectionProxyz5Proxy for accessing a connection object's attributes.c                 @    || j                   d<   || j                   d<   y )N_connections_alias)__dict__)selfconnectionsaliass      o/var/www/python.vincentserveurtest.ovh/public_html/venv/lib/python3.12/site-packages/django/utils/connection.py__init__zConnectionProxy.__init__
   s    (3n%"'h    c                 H    t        | j                  | j                     |      S N)getattrr	   r
   )r   items     r   __getattr__zConnectionProxy.__getattr__       t((5t<<r   c                 J    t        | j                  | j                     ||      S r   )setattrr	   r
   )r   namevalues      r   __setattr__zConnectionProxy.__setattr__   s     t((5tUCCr   c                 H    t        | j                  | j                     |      S r   )delattrr	   r
   )r   r   s     r   __delattr__zConnectionProxy.__delattr__   r   r   c                 8    || j                   | j                     v S r   r	   r
   r   keys     r   __contains__zConnectionProxy.__contains__   s    d''444r   c                 :    | j                   | j                     |k(  S r   r!   )r   others     r   __eq__zConnectionProxy.__eq__   s      -66r   N)
__name__
__module____qualname____doc__r   r   r   r   r$   r'    r   r   r   r      s$    ?(=D=57r   r   c                       e Zd Zy)ConnectionDoesNotExistN)r(   r)   r*   r,   r   r   r.   r.      s    r   r.   c                   b    e Zd ZdZeZdZddZed        Z	d Z
d Zd Zd Zd	 Zd
 ZddZd Zy)BaseConnectionHandlerNFc                 F    || _         t        | j                        | _        y r   )	_settingsr   thread_criticalr	   r   r   s     r   r   zBaseConnectionHandler.__init__'   s    !!$"6"67r   c                 Z    | j                  | j                        | _        | j                  S r   )configure_settingsr2   r   s    r   r   zBaseConnectionHandler.settings+   s"    00@~~r   c                 >    |t        t        | j                        }|S r   )r   django_settingssettings_namer4   s     r   r6   z(BaseConnectionHandler.configure_settings0   s    0B0BCHr   c                     t        d      )Nz.Subclasses must implement create_connection().)NotImplementedError)r   r   s     r   create_connectionz'BaseConnectionHandler.create_connection5   s    !"RSSr   c                     	 t        | j                  |      S # t        $ r& || j                  vr| j	                  d| d      Y nw xY w| j                  |      }t        | j                  ||       |S )NzThe connection 'z' doesn't exist.)r   r	   AttributeErrorr   exception_classr=   r   )r   r   conns      r   __getitem__z!BaseConnectionHandler.__getitem__8   s    	W4,,e44 	WDMM)**-=eWDT+UVV *	W %%e,!!5$/s    ,AAc                 2    t        | j                  ||       y r   )r   r	   )r   r#   r   s      r   __setitem__z!BaseConnectionHandler.__setitem__B   s    !!3.r   c                 0    t        | j                  |       y r   )r   r	   r"   s     r   __delitem__z!BaseConnectionHandler.__delitem__E   s    !!3'r   c                 ,    t        | j                        S r   )iterr   r7   s    r   __iter__zBaseConnectionHandler.__iter__H   s    DMM""r   c                 b    | D cg c]  }|rt        | j                  |      r| |   ! c}S c c}w r   )hasattrr	   )r   initialized_onlyr   s      r   allzBaseConnectionHandler.allK   s?     
#wt/@/@%'H K
 	
 
s   $,c                 R    | j                  d      D ]  }|j                           y )NT)rL   )rM   close)r   rA   s     r   	close_allzBaseConnectionHandler.close_allS   s     HHdH3DJJL 4r   r   )F)r(   r)   r*   r:   r.   r@   r3   r   r   r   r6   r=   rB   rD   rF   rI   rM   rP   r,   r   r   r0   r0   "   sS    M,OO8  
T/(#
r   r0   N)asgiref.localr   django.confr   r9   django.utils.functionalr   r   	Exceptionr.   r0   r,   r   r   <module>rU      s.     3 37 7.	Y 	3 3r   