o
    h                     @   sD   d dl Z d dlmZ d dlmZ d dlmZ G dd de jdZdS )    N)PackageFinder)BaseDistribution)InstallRequirementc                       sZ   e Zd ZdZdeddf fddZejdefddZ	ejd	e
d
eddfddZ  ZS )AbstractDistributiona  A base class for handling installable artifacts.

    The requirements for anything installable are as follows:

     - we must be able to determine the requirement name
       (or we can't correctly handle the non-upgrade case).

     - for packages with setup requirements, we must also be able
       to determine their requirements without installing additional
       packages (for the same reason as run-time dependencies)

     - we must be able to create a Distribution object exposing the
       above metadata.
    reqreturnNc                    s   t    || _d S N)super__init__r   )selfr   	__class__ \/var/www/html/olx_land/venv/lib/python3.10/site-packages/pip/_internal/distributions/base.pyr
      s   

zAbstractDistribution.__init__c                 C      t  r   NotImplementedError)r   r   r   r   get_metadata_distribution   s   z.AbstractDistribution.get_metadata_distributionfinderbuild_isolationc                 C   r   r   r   )r   r   r   r   r   r   prepare_distribution_metadata    s   z2AbstractDistribution.prepare_distribution_metadata)__name__
__module____qualname____doc__r   r
   abcabstractmethodr   r   r   boolr   __classcell__r   r   r   r   r      s    r   )	metaclass)	r   "pip._internal.index.package_finderr   pip._internal.metadata.baser   pip._internal.reqr   ABCMetar   r   r   r   r   <module>   s
    