ó
§‰]c           @   s@   d Z  d Z d Z d d d d „ Z e e  d e d e ƒZ d S(	   i   i   i    t    c            sÒ  d } | d k	 r% t | ƒ d } n d } d j t t |  ƒ ƒ } d d d g } | d k rš t g  | D] } | j | ƒ ^ qh ƒ rš t | d ƒ ‚ n | }	 | d k rµ | }
 nn | j d ƒ rì | j d	 ƒ rì d j d | g ƒ }
 n7 | j d
 ƒ r| }
 n | d k r#t | d ƒ ‚ n  | d k r|t g  t d ƒ D] } |
 j t | ƒ ƒ ^ q?ƒ r|d j |
 d g ƒ }
 n  d j | | |	 |
 g ƒ } d d l	 ‰  ‡  f d †  } | | ƒ rÂ| St | ƒ ‚ d S(   s'  
    Creates a pep440 valid version of version number given a tuple integers
    and optional epoch, prerelease and developmental info.

    Parameters
    ----------
    release_info : Tuple(Int)
    epoch : Int, default None
    pre_input : Str, default ''
    dev_input : Str, default ''
    s<   The version number is not a pep 440 compliant version numbert   !R    t   .t   at   bt   rcs%   
 please fix your prerelease segment.t   devs   .devs&   
 please fix your development segment.i
   t   0iÿÿÿÿNc            s   ˆ  j  d |  ƒ d  k	 S(   Nsk   ^([1-9]\d*!)?(0|[1-9]\d*)(\.(0|[1-9]\d*))*((a|b|rc)(0|[1-9]\d*))?(\.post(0|[1-9]\d*))?(\.dev(0|[1-9]\d*))?$(   t   matcht   None(   t   version(   t   re(    s1   lib/python2.7/site-packages/nbconvert/_version.pyt   is_canonical2   s    	(
   R	   t   strt   joint   mapt   anyt
   startswitht
   ValueErrort   ranget   endswithR   (   t   release_infot   epocht	   pre_inputt	   dev_inputt
   pep440_errt	   epoch_segt   release_segt
   _magic_pret   prefixt   pre_segt   dev_segt   nt   out_versionR   (    (   R   s1   lib/python2.7/site-packages/nbconvert/_version.pyt   create_valid_version   s2    5		AR   R   N(   i   i   i    (   t   version_infot   pre_infot   dev_infoR	   R"   t   __version__(    (    (    s1   lib/python2.7/site-packages/nbconvert/_version.pyt   <module>   s   :