a
    Î{fÍ
  ã                   @   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i |j¤Ž}| t|ƒp2i ¡ zt| |ƒ}W nH tyŒ } z0t	t
t
t ¡  | |¡ƒt ¡ d ƒ W Y d}~n
d}~0 0 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!   úa/var/www/staging/api/virtual_environments/venv/lib/python3.9/site-packages/celery/app/backends.pyr   )   s&    

ÿÿ
ÿ
ÿr   c                 C   sP   d}| rBd| v rB| }|  d¡\}}}d|v 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   ê  ÿ
