
    Ih~                        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*d+	Zi Z	d0d1d-Z
d0d1d.Zy,)2z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    Q/var/www/html/planif/env/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:Transportz"kombu.transport.gcpubsub:Transport)	
filesystemqpidsentinelconsuletcdazurestoragequeuesazureservicebuspyrogcpubsubNc                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_transportr2   5   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_cacher2   )r0   s    r
   get_transport_clsr5   Q   s(     ((&7	&B#I&&    )returnzbool | None)N)r0   
str | Noner7   r8   )__doc__
__future__r   kombu.utils.compatr   kombu.utils.importsr   r   r+   r4   r2   r5    r6   r
   <module>r>      s+    " 2 .	
.2 0 :	
 @ 7 0 . / 
* 
* 2 6 8 2  ,!" ,#$ 9,90,HB,45 :  8'r6   