o
    —¨ÊhG  ã                
   @  sÒ   d Z ddlmZ ddlmZ ddlmZ d5d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+d,d-œ¥Zi Z	d6d7d1d2„Z
d6d7d3d4„Zd.S )8zBuilt-in transports.é    )Úannotations)Ú_detect_environment)Úsymbol_by_nameÚreturnúbool | Nonec                  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
   úJ/var/www/html/env/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Úconfluentkafkaz(kombu.transport.confluentkafka:TransportÚkafkaÚ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Úslmqz$kombu.transport.filesystem:Transportz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)Ú
filesystemÚqpidÚsentinelÚconsulÚetcdÚazurestoragequeuesÚazureservicebusÚpyroNÚ	transportú
str | Nonec                 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: {}.  Did you mean {}?zNo such transport: )	Ú
isinstanceÚstrÚTRANSPORT_ALIASESÚKeyErrorÚkombu.utils.textr)   ÚformatÚcallabler   )r%   r)   Úaltr
   r
   r   Úresolve_transport4   s.   
	
ÿÿùõô
r2   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_cacher2   )r%   r
   r
   r   Úget_transport_clsP   s   
r4   )r   r   )N)r%   r&   r   r&   )Ú__doc__Ú
__future__r   Úkombu.utils.compatr   Úkombu.utils.importsr   r   r,   r3   r2   r4   r
   r
   r
   r   Ú<module>   sh    
ÿþýüûúùø	÷
öõôóòñðïç