ó
Wa›]c        
   @` s“   d  d l  m Z m Z m Z d  d l m Z d d l m Z d d l m	 Z	 m
 Z
 e e
 d e d e d e d	 e ƒ d
 e f d „  ƒ  Yƒ ƒ Z d S(   i    (   t   absolute_importt   divisiont   print_function(   t   total_orderingi   (   t   astuple(   t   attribt   attrst   eqt   ordert   slotst   frozent   VersionInfoc           B` st   e  Z d  Z e d e ƒ Z e d e ƒ Z e d e ƒ Z e d e ƒ Z	 e
 d „  ƒ Z d „  Z d „  Z d „  Z RS(   s›  
    A version object that can be compared to tuple of length 1--4:

    >>> attr.VersionInfo(19, 1, 0, "final")  <= (19, 2)
    True
    >>> attr.VersionInfo(19, 1, 0, "final") < (19, 1, 1)
    True
    >>> vi = attr.VersionInfo(19, 2, 0, "final")
    >>> vi < (19, 1, 1)
    False
    >>> vi < (19,)
    False
    >>> vi == (19, 2,)
    True
    >>> vi == (19, 2, 1)
    False

    .. versionadded:: 19.2
    t   typec      
   C` sr   | j  d ƒ } t | ƒ d k r1 | j d ƒ n  |  d t | d ƒ d t | d ƒ d t | d	 ƒ d
 | d ƒ S(   s6   
        Parse *s* and return a _VersionInfo.
        t   .i   t   finalt   yeari    t   minori   t   microi   t   releaselevel(   t   splitt   lent   appendt   int(   t   clst   st   v(    (    s,   lib/python2.7/site-packages/attr/_version.pyt   _from_version_string%   s
    c         C` s~   |  j  | j  k r! t | ƒ } n  t | t ƒ s9 t ‚ n  d t | ƒ k oV d k n sd t ‚ n  t |  ƒ t | ƒ  | f S(   s®   
        Ensure *other* is a tuple of a valid length.

        Returns a possibly transformed *other* and ourselves as a tuple of
        the same length as *other*.
        i   i   (   t	   __class__R   t
   isinstancet   tuplet   NotImplementedErrorR   (   t   selft   other(    (    s,   lib/python2.7/site-packages/attr/_version.pyt   _ensure_tuple2   s    	"	c         C` s8   y |  j  | ƒ \ } } Wn t k
 r- t SX| | k S(   N(   R!   R   t   NotImplemented(   R   R    t   ust   them(    (    s,   lib/python2.7/site-packages/attr/_version.pyt   __eq__E   s
    c         C` s8   y |  j  | ƒ \ } } Wn t k
 r- t SX| | k  S(   N(   R!   R   R"   (   R   R    R#   R$   (    (    s,   lib/python2.7/site-packages/attr/_version.pyt   __lt__M   s
    (   t   __name__t
   __module__t   __doc__R   R   R   R   R   t   strR   t   classmethodR   R!   R%   R&   (    (    (    s,   lib/python2.7/site-packages/attr/_version.pyR   	   s   		N(   t
   __future__R    R   R   t	   functoolsR   t   _funcsR   t   _makeR   R   t   Falset   Truet   objectR   (    (    (    s,   lib/python2.7/site-packages/attr/_version.pyt   <module>   s   !