o Úøa¿ã@sTddlmZddlmZddlmZGdd„dƒZGdd„deƒZ Gdd „d ƒZ d S) é)ÚLocal)Úsettings)Úcached_propertyc@s@eZdZdZdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dS)ÚConnectionProxyz5Proxy for accessing a connection object's attributes.cCs||jd<||jd<dS)NÚ _connectionsÚ_alias)Ú__dict__)ÚselfÚ connectionsÚalias©r ú9/usr/lib/python3/dist-packages/django/utils/connection.pyÚ__init__ s zConnectionProxy.__init__cCót|j|j|ƒS©N)Úgetattrrr)r Úitemr r r Ú __getattr__ózConnectionProxy.__getattr__cCst|j|j||ƒSr)Úsetattrrr)r ÚnameÚvaluer r r Ú __setattr__szConnectionProxy.__setattr__cCrr)Údelattrrr)r rr r r Ú __delattr__rzConnectionProxy.__delattr__cCs||j|jvSr©rr©r Úkeyr r r Ú __contains__ózConnectionProxy.__contains__cCs|j|j|kSrr)r Úotherr r r Ú__eq__rzConnectionProxy.__eq__N) Ú__name__Ú __module__Ú __qualname__Ú__doc__rrrrrr!r r r r rs rc@s eZdZdS)ÚConnectionDoesNotExistN)r"r#r$r r r r r&sr&c@sfeZdZdZeZdZddd„Zedd„ƒZ dd„Z d d „Z d d „Z d d„Z dd„Zdd„Zdd„ZdS)ÚBaseConnectionHandlerNFcCs||_t|jƒ|_dSr)Ú _settingsrÚthread_criticalr©r rr r r r'szBaseConnectionHandler.__init__cCs| |j¡|_|jSr)Úconfigure_settingsr(©r r r r r+szBaseConnectionHandler.settingscCs|dur tt|jƒ}|Sr)rÚdjango_settingsÚ settings_namer*r r r r+0s z(BaseConnectionHandler.configure_settingscCstdƒ‚)Nz.Subclasses must implement create_connection().)ÚNotImplementedError)r r r r r Úcreate_connection5sz'BaseConnectionHandler.create_connectioncCsZzt|j|ƒWSty||jvr| d|›d¡‚Ynw| |¡}t|j||ƒ|S)NzThe connection 'z' doesn't exist.)rrÚAttributeErrorrÚexception_classr0r)r r Úconnr r r Ú __getitem__8s  ÿÿ z!BaseConnectionHandler.__getitem__cCst|j||ƒdSr)rr)r rrr r r Ú __setitem__Brz!BaseConnectionHandler.__setitem__cCst|j|ƒdSr)rrrr r r Ú __delitem__Erz!BaseConnectionHandler.__delitem__cCs t|jƒSr)Úiterrr,r r r Ú__iter__Hs zBaseConnectionHandler.__iter__cs‡fdd„ˆDƒS)Ncsg|]}ˆ|‘qSr r )Ú.0r r,r r Ú Lsz-BaseConnectionHandler.all..r r,r r,r ÚallKrzBaseConnectionHandler.allr)r"r#r$r.r&r2r)rrrr+r0r4r5r6r8r;r r r r r'"s    r'N) Ú asgiref.localrÚ django.confrr-Údjango.utils.functionalrrÚ Exceptionr&r'r r r r Ús