
    ^fG              
          d Z ddlmZ ddlmZ ddlmZ d2d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	d3d4d0Z
d3d4d1Zd-S )5zBuilt-in transports.    )annotations)_detect_environment)symbol_by_namereturnbool | Nonec                 X    t                      dk    r	 ddl} dS # t          $ r Y nw xY wdS )z/Return true if :pypi:`librabbitmq` can be used.defaultr   NT)r   librabbitmqImportError)r
   s    J/var/www/html/env/lib/python3.11/site-packages/kombu/transport/__init__.pysupports_librabbitmqr   	   sT    	))	 4  	 	 	D	 4s    
''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                j   t          | t                    r	 t          |          } t          |           r
 |             } nf# t          $ rY d| vrRd| vrNddlm}  || t                    }|r#t	          d                    | |                    t	          d|            Y nw xY wt          |           S | S )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   )r&   r+   alts      r   resolve_transportr4   4   s     )S!! )	())4I 	"" (%IKK	  	B 	B 	B)##9(<(<888888!k)->?? -"BII%s, ,- - - @Y@@AAA	B i(((s   > A B! B!c                \    | 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_cacher4   )r&   s    r   get_transport_clsr7   P   s.     (((&7	&B&B#I&&    )r   r   )N)r&   r'   r   r'   )__doc__
__future__r   kombu.utils.compatr   kombu.utils.importsr   r   r.   r6   r4   r7    r8   r   <module>r>      s     " " " " " " 2 2 2 2 2 2 . . . . . .	 	 	 	
.2 0 :	
 @ 7 0 . / 
* 
* 2 6 8 2  ,!" ,#$ 9,90,HB,3   8      8' ' ' ' ' ' 'r8   