U
    ccC                     @   st   d Z ddlmZ ddlmZ dd Z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ddZdddZ	dS ) zBuilt-in transports.    )_detect_environment)symbol_by_namec                  C   s4   t  dkr0zddl} W n tk
r*   Y nX dS dS )z/Return true if :pypi:`librabbitmq` can be used.defaultr   NT)r   librabbitmqImportError)r    r   R/var/www/html/project/venv/lib/python3.8/site-packages/kombu/transport/__init__.pysupports_librabbitmq   s    
r	   z kombu.transport.pyamqp:Transportz#kombu.transport.pyamqp:SSLTransportz%kombu.transport.librabbitmq:Transportz kombu.transport.memory:Transportzkombu.transport.redis:Transportzkombu.transport.SQS:Transportz!kombu.transport.mongodb:Transportz#kombu.transport.zookeeper:Transportz$kombu.transport.sqlalchemy:Transportzkombu.transport.SLMQ.Transportz$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)ZamqpZamqpsZpyamqpr   ZmemoryZredisZredissZSQSZsqsZmongodbZ	zookeeperZ
sqlalchemyZsqlaZSLMQZslmq
filesystemZqpidsentinelZconsulZetcdZazurestoragequeuesZazureservicebusZpyroNc                 C   s   t | trzt|  } W n\ tk
rr   d| krnd| krnddlm} || t}|r`td| |td|  Y nX t| r|  } 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KeyErrorZkombu.utils.textr   formatcallabler   )	transportr   Zaltr   r   r   resolve_transport/   s&    

 r   c                 C   s   | t k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_cacher   )r   r   r   r   get_transport_clsJ   s    
r   )N)N)
__doc__Zkombu.utils.compatr   Zkombu.utils.importsr   r	   r   r   r   r   r   r   r   r   <module>   s<   
