o
    wvXj¬  ã                   @   sØ   d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 dd„ Z
i dd	“d
d“dd	“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d“d!d"“d#d$“d%d&d'd(d)d*d+œ¥Zi Zd1d-d.„Zd1d/d0„Zd,S )2zBuilt-in transports.é    )Úabsolute_importÚunicode_literals)Ústring_t)Ú_detect_environment)Úsymbol_by_namec                  C   s2   t ƒ dkrzddl} W dS  ty   Y dS w dS )z/Return true if :pypi:`librabbitmq` can be used.Údefaultr   NT)r   ÚlibrabbitmqÚImportError)r   © r
   úU/var/www/html/myproject/venv/lib/python3.10/site-packages/kombu/transport/__init__.pyÚsupports_librabbitmq	   s   

ýÿýr   Úamqpz kombu.transport.pyamqp:TransportÚamqpsz#kombu.transport.pyamqp:SSLTransportÚpyamqpr   z%kombu.transport.librabbitmq:TransportÚmemoryz kombu.transport.memory:TransportÚrediszkombu.transport.redis:TransportÚredissÚSQSzkombu.transport.SQS:TransportÚsqsÚmongodbz!kombu.transport.mongodb:TransportÚ	zookeeperz#kombu.transport.zookeeper:TransportÚ
sqlalchemyz$kombu.transport.sqlalchemy:TransportÚsqlaÚSLMQzkombu.transport.SLMQ.TransportÚslmqÚ
filesystemz$kombu.transport.filesystem:TransportÚqpidzkombu.transport.qpid:Transportz'kombu.transport.redis:SentinelTransportz kombu.transport.consul:Transportzkombu.transport.etcd:Transportz,kombu.transport.azurestoragequeues:Transportz)kombu.transport.azureservicebus:Transportzkombu.transport.pyro:Transport)ÚsentinelÚconsulÚetcdÚazurestoragequeuesÚazureservicebusÚpyroNc                 C   sœ   t | tƒrLzt|  } W n5 ty@   d| vr6d| vr;ddlm} || tƒ}|r/td | |¡ƒ‚td | ¡ƒ‚Y t| ƒS Y t| ƒS w t| ƒrH| ƒ } t| ƒS | S )zæGet transport by name.

    Arguments:
        transport (Union[str, type]): This can be either
            an actual transport class, or the fully qualified
            path to a transport class, or the alias of a transport.
    Ú.ú:r   )Úfmatch_bestz*No such transport: {0}.  Did you mean {1}?zNo such transport: {0})	Ú
isinstancer   ÚTRANSPORT_ALIASESÚKeyErrorÚkombu.utils.textr%   ÚformatÚcallabler   )Ú	transportr%   Úaltr
   r
   r   Úresolve_transport1   s.   

ÿÿùõô
r.   c                 C   s   | t vr
t| ƒt | < t |  S )zþGet transport class by name.

    The transport string is the full path to a transport class, e.g.::

        "kombu.transport.pyamqp:Transport"

    If the name does not include `"."` (is not fully qualified),
    the alias table will be consulted.
    )Ú_transport_cacher.   )r,   r
   r
   r   Úget_transport_clsL   s   
r0   )N)Ú__doc__Ú
__future__r   r   Ú
kombu.fiver   Úkombu.utils.compatr   Úkombu.utils.importsr   r   r'   r/   r.   r0   r
   r
   r
   r   Ú<module>   sf    ÿþýüûúùø	÷
öõôóòñðïé
