o
    ©D®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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-œ¥Z		.d3d/d0„Zd4d1d2„ZdS )5z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})
Úrpczcelery.backends.rpc.RPCBackendÚcachez"celery.backends.cache:CacheBackendÚredisz"celery.backends.redis:RedisBackendÚredissÚsentinelz%celery.backends.redis:SentinelBackendÚmongodbz$celery.backends.mongodb:MongoBackendÚdbz(celery.backends.database:DatabaseBackendÚdatabaseÚelasticsearchz2celery.backends.elasticsearch:ElasticsearchBackendÚ	cassandraz*celery.backends.cassandra:CassandraBackendÚ	couchbasez*celery.backends.couchbase:CouchbaseBackendÚcouchdbz$celery.backends.couchdb:CouchBackendÚcosmosdbsqlz.celery.backends.cosmosdbsql:CosmosDBSQLBackendÚriakz celery.backends.riak:RiakBackendÚfilez,celery.backends.filesystem:FilesystemBackendÚdisabledz$celery.backends.base:DisabledBackendÚconsulz$celery.backends.consul:ConsulBackendz(celery.backends.dynamodb:DynamoDBBackendz4celery.backends.azureblockblob:AzureBlockBlobBackendz(celery.backends.arangodb:ArangoDbBackendzcelery.backends.s3:S3Backendzcelery.backends.gcs:GCSBackend)ÚdynamodbÚazureblockblobÚarangodbÚs3Úgsúcelery.result_backendsc              
   C   s®   | pd} |pt j}ttfi |j¤Ž}| t|ƒ¡ zt| |ƒ}W n$ tyD } zt	t
t
t ¡  | |¡ƒt ¡ d ƒ W Y d}~nd}~ww t|tjƒrUt
t ¡  | d¡ƒ‚|S )z Get backend class by name/alias.r   é   Nz(is a Python module, not a backend class.)r   ÚloaderÚdictÚBACKEND_ALIASESÚoverride_backendsÚupdater   r   Ú
ValueErrorr   r   ÚUNKNOWN_BACKENDÚstripÚformatÚsysÚexc_infoÚ
isinstanceÚtypesÚ
ModuleType)Úbackendr!   Úextension_namespaceÚaliasesÚclsÚexc© r4   úL/home/ubuntu/webapp/venv/lib/python3.10/site-packages/celery/app/backends.pyr   )   s&   
ÿ
ÿ€ÿ
ÿr   c                 C   sP   d}| r!d| v r!| }|  d¡\}}}d|v r| dd¡\} }n|} t| |ƒ|fS )zGet backend class by URL.Nz://ú+é   )Ú	partitionÚsplitr   )r/   r!   ÚurlÚschemeÚ_r4   r4   r5   r   ;   s   r   )NNr   )NN)Ú__doc__r*   r-   Úcelery._stater   Úcelery.exceptionsr   r   Úcelery.utils.importsr   r   Ú__all__r'   r#   r   r   r4   r4   r4   r5   Ú<module>   sj    ÿþýüûúùø	÷
öõôóòñðïê
ÿ