ó
Św>]c           @   sE   d  d l  Z  d  d l m Z e e  j  d e f d     Y Z d S(   i˙˙˙˙N(   t   add_metaclasst   AbstractDistributionc           B   s;   e  Z d  Z d   Z e j d    Z e j d    Z RS(   s  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.
    c         C   s    t  t |   j   | |  _ d  S(   N(   t   superR   t   __init__t   req(   t   selfR   (    (    s?   lib/python2.7/site-packages/pip/_internal/distributions/base.pyR      s    c         C   s   t     d  S(   N(   t   NotImplementedError(   R   (    (    s?   lib/python2.7/site-packages/pip/_internal/distributions/base.pyt   get_pkg_resources_distribution   s    c         C   s   t     d  S(   N(   R   (   R   t   findert   build_isolation(    (    s?   lib/python2.7/site-packages/pip/_internal/distributions/base.pyt   prepare_distribution_metadata   s    (   t   __name__t
   __module__t   __doc__R   t   abct   abstractmethodR   R
   (    (    (    s?   lib/python2.7/site-packages/pip/_internal/distributions/base.pyR      s   	(   R   t   pip._vendor.sixR    t   ABCMetat   objectR   (    (    (    s?   lib/python2.7/site-packages/pip/_internal/distributions/base.pyt   <module>   s   