ó
¦w>]c           @   s,   d  Z  d d l Z d e f d „  ƒ  YZ d S(   s   Utilities for defining models
iÿÿÿÿNt   KeyBasedCompareMixinc           B   s_   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(
   s<   Provides comparison capabilities that is based on a key
    c         C   s   | |  _  | |  _ d  S(   N(   t   _compare_keyt   _defining_class(   t   selft   keyt   defining_class(    (    s9   lib/python2.7/site-packages/pip/_internal/utils/models.pyt   __init__   s    	c         C   s   t  |  j ƒ S(   N(   t   hashR   (   R   (    (    s9   lib/python2.7/site-packages/pip/_internal/utils/models.pyt   __hash__   s    c         C   s   |  j  | t j ƒ S(   N(   t   _comparet   operatort   __lt__(   R   t   other(    (    s9   lib/python2.7/site-packages/pip/_internal/utils/models.pyR      s    c         C   s   |  j  | t j ƒ S(   N(   R	   R
   t   __le__(   R   R   (    (    s9   lib/python2.7/site-packages/pip/_internal/utils/models.pyR      s    c         C   s   |  j  | t j ƒ S(   N(   R	   R
   t   __gt__(   R   R   (    (    s9   lib/python2.7/site-packages/pip/_internal/utils/models.pyR      s    c         C   s   |  j  | t j ƒ S(   N(   R	   R
   t   __ge__(   R   R   (    (    s9   lib/python2.7/site-packages/pip/_internal/utils/models.pyR      s    c         C   s   |  j  | t j ƒ S(   N(   R	   R
   t   __eq__(   R   R   (    (    s9   lib/python2.7/site-packages/pip/_internal/utils/models.pyR      s    c         C   s   |  j  | t j ƒ S(   N(   R	   R
   t   __ne__(   R   R   (    (    s9   lib/python2.7/site-packages/pip/_internal/utils/models.pyR   !   s    c         C   s)   t  | |  j ƒ s t S| |  j | j ƒ S(   N(   t
   isinstanceR   t   NotImplementedR   (   R   R   t   method(    (    s9   lib/python2.7/site-packages/pip/_internal/utils/models.pyR	   $   s    (   t   __name__t
   __module__t   __doc__R   R   R   R   R   R   R   R   R	   (    (    (    s9   lib/python2.7/site-packages/pip/_internal/utils/models.pyR       s   								(   R   R
   t   objectR    (    (    (    s9   lib/python2.7/site-packages/pip/_internal/utils/models.pyt   <module>   s   