o
    h
                     @   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   U/var/www/html/optinet_system/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    	

