ó
‹'=[c           @   sP   d  Z  d d l Z d e f d „  ƒ  YZ d „  Z d „  Z d „  Z d „  Z d S(	   s/   API for reading notebooks of different versionsiÿÿÿÿNt   NotJSONErrorc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s.   lib/python2.7/site-packages/nbformat/reader.pyR       s   c         K   sF   y t  j |  |  } Wn) t k
 rA t d |  d  d ƒ ‚ n X| S(   s    Parse a JSON string into a dict.s'   Notebook does not appear to be JSON: %riM   s   ...(   t   jsont   loadst
   ValueErrorR    (   t   st   kwargst   nb_dict(    (    s.   lib/python2.7/site-packages/nbformat/reader.pyt
   parse_json   s
    c         C   s.   |  j  d d ƒ } |  j  d d ƒ } | | f S(   sá   Get the version of a notebook.

    Parameters
    ----------
    nb : dict
        NotebookNode or dict containing notebook data.

    Returns
    -------
    Tuple containing major (int) and minor (int) version numbers
    t   nbformati   t   nbformat_minori    (   t   get(   t   nbt   majort   minor(    (    s.   lib/python2.7/site-packages/nbformat/reader.pyt   get_version   s    c         K   sn   d d l  m } m } t |  |  } t | ƒ \ } } | | k rZ | | j | d | ƒS| d | ƒ ‚ d S(   sr  Read a notebook from a json string and return the 
    NotebookNode object.

    This function properly reads notebooks of any version.  No version 
    conversion is performed.

    Parameters
    ----------
    s : unicode
        The raw unicode string to read the notebook from.

    Returns
    -------
    nb : NotebookNode
        The notebook that was read.
    i   (   t   versionst   NBFormatErrorR   s   Unsupported nbformat version %sN(   t    R   R   R	   R   t   to_notebook_json(   R   R   R   R   R   R   R   (    (    s.   lib/python2.7/site-packages/nbformat/reader.pyt   reads'   s    c         K   s   t  |  j ƒ  |  S(   s[  Read a notebook from a file and return the NotebookNode object.

    This function properly reads notebooks of any version.  No version 
    conversion is performed.

    Parameters
    ----------
    fp : file
        Any file-like object with a read method.

    Returns
    -------
    nb : NotebookNode
        The notebook that was read.
    (   R   t   read(   t   fpR   (    (    s.   lib/python2.7/site-packages/nbformat/reader.pyR   B   s    (   t   __doc__R   R   R    R	   R   R   R   (    (    (    s.   lib/python2.7/site-packages/nbformat/reader.pyt   <module>   s   			