
    Evg	                     z    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
d
S )    )Local)settings)cached_propertyc                   6    e Zd ZdZd Zd Zd Zd Zd Zd Z	dS )	ConnectionProxyz5Proxy for accessing a connection object's attributes.c                 .    || j         d<   || j         d<   d S )N_connections_alias)__dict__)selfconnectionsaliass      T/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/django/utils/connection.py__init__zConnectionProxy.__init__
   s     (3n%"'h    c                 B    t          | j        | j                 |          S N)getattrr	   r
   )r   items     r   __getattr__zConnectionProxy.__getattr__       t(5t<<<r   c                 D    t          | j        | j                 ||          S r   )setattrr	   r
   )r   namevalues      r   __setattr__zConnectionProxy.__setattr__   s    t(5tUCCCr   c                 B    t          | j        | j                 |          S r   )delattrr	   r
   )r   r   s     r   __delattr__zConnectionProxy.__delattr__   r   r   c                 *    || 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      sw        ??( ( (= = =D D D= = =5 5 57 7 7 7 7r   r   c                       e Zd ZdS )ConnectionDoesNotExistN)r(   r)   r*   r,   r   r   r.   r.      s        Dr   r.   c                   j    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dS )BaseConnectionHandlerNFc                 F    || _         t          | j                  | _        d S r   )	_settingsr   thread_criticalr	   r   r   s     r   r   zBaseConnectionHandler.__init__'   s"    !!$"677r   c                 N    |                      | 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    0BCCHr   c                      t          d          )Nz.Subclasses must implement create_connection().)NotImplementedError)r   r   s     r   create_connectionz'BaseConnectionHandler.create_connection5   s    !"RSSSr   c                     	 t          | j        |          S # t          $ r% || j        vr|                     d| d          Y nw xY w|                     |          }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4 	W 	W 	WDM))**+Ue+U+U+UVVV *)	W %%e,,!5$///s    ,AAc                 2    t          | j        ||           d S r   )r   r	   )r   r#   r   s      r   __setitem__z!BaseConnectionHandler.__setitem__B   s    !3.....r   c                 0    t          | j        |           d S 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    DM"""r   c                 $      fd D             S )Nc                 N    g | ]!}rt          j        |          |         "S r,   )hasattrr	   ).0r   initialized_onlyr   s     r   
<listcomp>z-BaseConnectionHandler.all.<locals>.<listcomp>L   sJ     
 
 
#	
 (/t/@%'H'H	
K
 
 
r   r,   )r   rN   s   ``r   allzBaseConnectionHandler.allK   s4    
 
 
 
 

 
 
 	
r   c                 `    |                      d          D ]}|                                 d S )NT)rN   )rP   close)r   rA   s     r   	close_allzBaseConnectionHandler.close_allS   s8    HHdH33 	 	DJJLLLL	 	r   r   )F)r(   r)   r*   r:   r.   r@   r3   r   r   r   r6   r=   rB   rD   rF   rI   rP   rS   r,   r   r   r0   r0   "   s        M,OO8 8 8 8   _  
T T T  / / /( ( (# # #
 
 
 
    r   r0   N)asgiref.localr   django.confr   r9   django.utils.functionalr   r   	Exceptionr.   r0   r,   r   r   <module>rX      s          3 3 3 3 3 3 3 3 3 3 3 37 7 7 7 7 7 7 7.	 	 	 	 	Y 	 	 	3 3 3 3 3 3 3 3 3 3r   