o
    ȭRh                     @  sx   d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
mZ eeZG dd dZG dd	 d	eZdddZdS )    )annotations)	getLogger)
Collection)InvalidRequirementRequirement)PackageNotFoundErrorversionc                   @  s:   e Zd ZU dZded< dZded< d	d
ddZdd ZdS )DependencyConflictN
str | Nonerequiredfoundc                 C  s   || _ || _d S Nr   r   )selfr   r    r   l/home/air/sanwanet/backup_V2/venv/lib/python3.10/site-packages/opentelemetry/instrumentation/dependencies.py__init__"   s   
zDependencyConflict.__init__c                 C  s   d| j  d| j dS )Nz DependencyConflict: requested: "z" but found: ""r   r   r   r   r   __str__&   s   zDependencyConflict.__str__r   )r   r
   r   r
   )__name__
__module____qualname__r   __annotations__r   r   r   r   r   r   r   r	      s
   
 r	   c                   @  s(   e Zd ZU ded< dddZdd ZdS )	DependencyConflictErrorr	   conflictc                 C  s
   || _ d S r   )r   )r   r   r   r   r   r   -      
z DependencyConflictError.__init__c                 C  s
   t | jS r   )strr   r   r   r   r   r   0   r   zDependencyConflictError.__str__N)r   r	   )r   r   r   r   r   r   r   r   r   r   r   *   s   
 
r   depsCollection[str | Requirement]returnDependencyConflict | Nonec                 C  s   | D ]Z}t |tr|}n&zt|}W n ty1 } ztd|| t|W  Y d }~  S d }~ww zt|j}W n tyH   t| Y   S w |j	
|s\t||j d|   S qd S )Nz<error parsing dependency, reporting as a conflict: "%s" - %s )
isinstancer   r   loggerwarningr	   r   namer   	specifiercontains)r   depreqexcdist_versionr   r   r   get_dependency_conflicts4   s.   
r-   N)r   r   r    r!   )
__future__r   loggingr   typingr   packaging.requirementsr   r   &opentelemetry.util._importlib_metadatar   r   r   r$   r	   	Exceptionr   r-   r   r   r   r   <module>   s   
