o
    Á¿iÆ  ã                   @   s¢   d dl mZ d dl mZ d dlZd dlmZ eeƒZzedƒZdZ	W n ey-   dZ	Y nw e	rDzd dl
mZ W n eyC   dZ	Y nw e	sOG d	d
„ d
ƒZdS dS )é    )ÚPackageNotFoundError)ÚversionN)Ú
get_loggerzopenfeature-sdkTF)ÚDataDogProviderc                   @   sh   e Zd ZdZdejdejfdd„Zdd„ Zdd
d„Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zd	S )r   z¯
        Stub DataDogProvider when openfeature-sdk is not installed.

        Logs an error when instantiated, informing users to install the openfeature-sdk package.
        ÚargsÚkwargsc                 O   s   t  d¡ d S )NaX  DataDogProvider could not be loaded. This may be due to openfeature-sdk not being installed or an incompatibility between the ddtrace provider and the installed openfeature-sdk version. Please ensure openfeature-sdk is installed and compatible. Check the official documentation: https://openfeature.dev/docs/reference/technologies/server/python)ÚlogÚwarning©Úselfr   r   © r   úP/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/openfeature/__init__.pyÚ__init__    s   ÿzDataDogProvider.__init__c                 C   ó   d S ©Nr   ©r   r   r   r   Úshutdown(   ó   zDataDogProvider.shutdownÚreturnNc                 C   r   r   r   )r   Úevaluation_contextr   r   r   Ú
initialize+   r   zDataDogProvider.initializec                 C   s   g S r   r   r   r   r   r   Úget_provider_hooks.   r   z"DataDogProvider.get_provider_hooksc                 O   r   r   r   r
   r   r   r   Úresolve_string_details1   r   z&DataDogProvider.resolve_string_detailsc                 O   r   r   r   r
   r   r   r   Úresolve_boolean_details4   r   z'DataDogProvider.resolve_boolean_detailsc                 O   r   r   r   r
   r   r   r   Úresolve_integer_details7   r   z'DataDogProvider.resolve_integer_detailsc                 O   r   r   r   r
   r   r   r   Úresolve_float_details:   r   z%DataDogProvider.resolve_float_detailsc                 O   r   r   r   r
   r   r   r   Úresolve_object_details=   r   z&DataDogProvider.resolve_object_details)r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚtypingÚAnyr   r   r   r   r   r   r   r   r   r   r   r   r   r      s    
r   )Úimportlib.metadatar   r   r!   Úddtrace.internal.loggerr   r   r   Úpkg_versionÚ_HAS_OPENFEATUREÚ&ddtrace.internal.openfeature._providerr   ÚImportErrorr   r   r   r   Ú<module>   s(    ÿþþ