ó
Ð²Ebc           @   s,   d  Z  d d l Z d e f d „  ƒ  YZ d S(   s   Utilities for defining models
iÿÿÿÿNt   KeyBasedCompareMixinc           B   sk   e  Z d  Z d d g 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
    t   _compare_keyt   _defining_classc         C   s   | |  _  | |  _ d  S(   N(   R   R   (   t   selft   keyt   defining_class(    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/utils/models.pyt   __init__   s    	c         C   s   t  |  j ƒ S(   N(   t   hashR   (   R   (    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/utils/models.pyt   __hash__   s    c         C   s   |  j  | t j ƒ S(   N(   t   _comparet   operatort   __lt__(   R   t   other(    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/utils/models.pyR      s    c         C   s   |  j  | t j ƒ S(   N(   R	   R
   t   __le__(   R   R   (    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/utils/models.pyR      s    c         C   s   |  j  | t j ƒ S(   N(   R	   R
   t   __gt__(   R   R   (    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/utils/models.pyR      s    c         C   s   |  j  | t j ƒ S(   N(   R	   R
   t   __ge__(   R   R   (    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/utils/models.pyR      s    c         C   s   |  j  | t j ƒ S(   N(   R	   R
   t   __eq__(   R   R   (    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/utils/models.pyR   "   s    c         C   s   |  j  | t j ƒ S(   N(   R	   R
   t   __ne__(   R   R   (    (    s7   /tmp/pip-build-UPPWic/pip/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(    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/utils/models.pyR	   (   s    (   t   __name__t
   __module__t   __doc__t	   __slots__R   R   R   R   R   R   R   R   R	   (    (    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/utils/models.pyR    	   s   								(   R   R
   t   objectR    (    (    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/utils/models.pyt   <module>   s   