
    gG              
          d 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(d)d*Zi Z	d/d0d,Z
d/d0d-Zy+)1zBuilt-in transports.    )annotations)_detect_environment)symbol_by_namec                 H    t               dk(  r	 ddl} yy# t        $ r Y yw xY w)z/Return true if :pypi:`librabbitmq` can be used.defaultr   NT)r   librabbitmqImportError)r   s    Y/var/www/html/hubwallet-dev/venv/lib/python3.12/site-packages/kombu/transport/__init__.pysupports_librabbitmqr   	   s6    	)	 	  	 		s    	!!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pyroNc                H   t        | t              r2	 t        |    } t        |       r |        } t        |       S t        |       S | S # t        $ rS d| vrBd| vr>ddlm}  || t              }|rt	        dj                  | |            t	        d|        Y t        |       S w xY w)zGet 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callableKeyErrorkombu.utils.textr'   formatr   )	transportr'   alts      r
   resolve_transportr1   4   s     )S!	())4I 	"%K	i((~i((  	B)#9(<8!)->?"BII%s,- - !4YK@AA i((	Bs   	A AB! B!c                H    | t         vrt        |       t         | <   t         |    S )zGet 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_cacher1   )r/   s    r
   get_transport_clsr4   P   s(     ((&7	&B#I&&    )returnzbool | None)N)r/   
str | Noner6   r7   )__doc__
__future__r   kombu.utils.compatr   kombu.utils.importsr   r   r*   r3   r1   r4    r5   r
   <module>r=      s(    " 2 .	
.2 0 :	
 @ 7 0 . / 
* 
* 2 6 8 2  ,!" ,#$ 9,90,HB,3 8  8'r5   