ó
‹'=[c           @   s3   d  Z  d d l m Z d d l m Z d „  Z d S(   s.   API for converting notebooks between versions.i   (   t   versions(   t   get_versionc         C   sÉ   t  |  ƒ \ } } | | k r" |  S| t k rµ | | k rT | d } t | j } n | d } t | j } | |  ƒ } | j d d ƒ | k r¨ t d | | f ƒ ‚ n  t | | ƒ St d | ƒ ‚ d S(   s  Convert a notebook node object to a specific version.  Assumes that
    all the versions starting from 1 to the latest major X are implemented.
    In other words, there should never be a case where v1 v2 v3 v5 exist without
    a v4.  Also assumes that all conversions can be made in one step increments
    between major versions and ignores minor revisions.

    Parameters
    ----------
    nb : NotebookNode
    to_version : int
        Major revision to convert the notebook to.  Can either be an upgrade or
        a downgrade.
    i   t   nbformats+   Failed to convert notebook from v%d to v%d.sA   Cannot convert notebook to v%d because that version doesn't existN(   R   R    t   upgradet	   downgradet   gett
   ValueErrort   convert(   t   nbt
   to_versiont   versiont   version_minort   step_versiont   convert_functiont	   converted(    (    s1   lib/python2.7/site-packages/nbformat/converter.pyR   
   s    

N(   t   __doc__t    R    t   readerR   R   (    (    (    s1   lib/python2.7/site-packages/nbformat/converter.pyt   <module>   s   