
    `f
                         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,Z	 	 d0d.Zd1d/ZdS )2z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:S3Backend)dynamodbazureblockblobarangodbs3celery.result_backendsc           
      `   | pd} |pt           j        }t          t          fi |j        }|                    t          |                     	 t          | |          }n|# t          $ ro}t          t          t          t                                                              | |                    t          j                    d                    Y d}~nd}~ww xY w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_ALIASESoverride_backendsupdater   r   
ValueErrorr   r   UNKNOWN_BACKENDstripformatsysexc_info
isinstancetypes
ModuleType)backendr"   extension_namespacealiasesclsexcs         E/var/www/html/env/lib/python3.11/site-packages/celery/app/backends.pyr   r   (   sQ    #G){)F???f&>??GNN-.ABBCCCNWg.. N N N$&:!!##**7C88': ':;><>>!;L	N 	N 	N 	N 	N 	N 	N 	NN #u'(( B"?#8#8#:#:#A#A?$A $A B B 	BJs   A 
C(A%CCc                     d}| r?d| v r;| }|                     d          \  }}}d|v r|                    dd          \  } }n|} t          | |          |fS )zGet backend class by URL.Nz://+   )	partitionsplitr   )r0   r"   urlscheme_s        r5   r	   r	   :   sq    
C 5G##}}U++1&==99S!,,LGSSG7F##S((    )NNr   )NN)__doc__r+   r.   celery._stater   celery.exceptionsr   r   celery.utils.importsr   r   __all__r(   r$   r   r	    r>   r5   <module>rE      s     



  % % % % % % ; ; ; ; ; ; ; ; K K K K K K K K
	+1 1 2	
 7 5 	
4 : I = = 5 C . :  6!" 4#$ ;L:
(+  2 "& 8   $
) 
) 
) 
) 
) 
)r>   