U
    Z¨+d¾
  ã                   @   s’   d Z ddlZddlZddlmZ ddlmZmZ ddlm	Z	m
Z
 dZ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œZd"dd„Zd#d d!„ZdS )$zBackend selection.é    N)Úcurrent_app)ÚImproperlyConfiguredÚreraise)Úload_extension_class_namesÚsymbol_by_name)Úby_nameÚby_urlzG
Unknown result backend: {0!r}.  Did you spell that correctly? ({1!r})
z celery.backends.amqp:AMQPBackendzcelery.backends.rpc.RPCBackendz"celery.backends.cache:CacheBackendz"celery.backends.redis:RedisBackendz%celery.backends.redis:SentinelBackendz$celery.backends.mongodb:MongoBackendz(celery.backends.database:DatabaseBackendz2celery.backends.elasticsearch:ElasticsearchBackendz*celery.backends.cassandra:CassandraBackendz*celery.backends.couchbase:CouchbaseBackendz$celery.backends.couchdb:CouchBackendz.celery.backends.cosmosdbsql:CosmosDBSQLBackendz celery.backends.riak:RiakBackendz,celery.backends.filesystem:FilesystemBackendz$celery.backends.base:DisabledBackendz$celery.backends.consul:ConsulBackendz(celery.backends.dynamodb:DynamoDBBackendz4celery.backends.azureblockblob:AzureBlockBlobBackendz(celery.backends.arangodb:ArangoDbBackendzcelery.backends.s3:S3Backend)ZamqpZrpcÚcacheZredisZredissÚsentinelZmongodbÚdbZdatabaseZelasticsearchZ	cassandraZ	couchbaseZcouchdbZcosmosdbsqlZriakÚfileÚdisabledZconsulZdynamodbZazureblockblobZarangodbZs3úcelery.result_backendsc              
   C   s¨   | pd} |pt j}ttf|jŽ}| t|ƒ¡ zt| |ƒ}W nF tk
r‚ } z(t	t
t
t ¡  | |¡ƒt ¡ d ƒ W 5 d}~X Y nX t|tjƒr¤t
t ¡  | d¡ƒ‚|S )z Get backend class by name/alias.r   é   Nz(is a Python module, not a backend class.)r   ÚloaderÚdictÚBACKEND_ALIASESZoverride_backendsÚupdater   r   Ú
ValueErrorr   r   ÚUNKNOWN_BACKENDÚstripÚformatÚsysÚexc_infoÚ
isinstanceÚtypesÚ
ModuleType)Úbackendr   Zextension_namespaceÚaliasesÚclsÚexc© r!   ú7/tmp/pip-unpacked-wheel-ucduq0nd/celery/app/backends.pyr   )   s$    
ÿ
ÿ
 ÿr   c                 C   sP   d}| rBd| krB| }|  d¡\}}}d|kr>| dd¡\} }n|} t| |ƒ|fS )zGet backend class by URL.Nz://ú+é   )Ú	partitionÚsplitr   )r   r   ÚurlÚschemeÚ_r!   r!   r"   r   ;   s    r   )NNr   )NN)Ú__doc__r   r   Zcelery._stater   Zcelery.exceptionsr   r   Zcelery.utils.importsr   r   Ú__all__r   r   r   r   r!   r!   r!   r"   Ú<module>   sD   ê  ÿ
