
    Mh;
                    @    d Z ddlmZ ddlmZ ddlmZ ddlmZ d Z	dS )	z.API for converting notebooks between versions.    )annotations   )versions)get_version)ValidationErrorc                   t          |           \  }}||k    r| S |t          v r||k    r|dz   }t          |         j        }n|dz
  }t          |         j        }	  ||           }|                    dd          |k    rd||fz  }t          |          n-# t          $ r }d| d| d| }t          |          dd}~ww xY wt          ||          S t          d|z            )	a  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.

    Raises
    ------
    ValueError
        Notebook failed to convert.
    ValueError
        The version specified is invalid or doesn't exist.
    ValidationError
        Conversion failed due to missing expected attributes.
    r   nbformatz+Failed to convert notebook from v%d to v%d.z-Notebook could not be converted from version z to version z because it's missing a key: NzACannot convert notebook to v%d because that version doesn't exist)	r   r   upgrade	downgradeget
ValueErrorAttributeErrorr   convert)	nb
to_versionversionversion_minorstep_versionconvert_function	convertedmsges	            R/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/nbformat/converter.pyr   r      sU   2  +2Wm *	 X "Q;L'5="Q;L'0:	1((,,I}}Z++w66CwP\F]] oo% 7  	1 	1 	1 F'  F  FWc  F  F  CD  F  FC!#&&D0	1
 y*---
KzZ  s   ;B 
C  B;;C N)
__doc__
__future__r    r   readerr   	validatorr   r        r   <module>r!      sn    4 4 # " " " " "             & & & & & &9 9 9 9 9r    