
    Mh                       d Z ddlmZ ddlZddlZddlmZ ddlmZm	Z	m
Z
mZmZ  G d dej                  Z G d	 d
e          Z G d de	          Z e            Z e            Zej        Zej        Zej        Zej        Zej        ZdS )zDRead and write notebooks in JSON format.

Authors:

* Brian Granger
    )annotationsN   )	from_dict)NotebookReaderNotebookWriterrejoin_linesrestore_bytessplit_linesc                      e Zd ZdZd ZdS )BytesEncoderz@A JSON encoder that accepts b64 (and other *ascii*) bytestrings.c                    t          |t                    r|                    d          S t          j                            | |          S )zThe default value of an object.ascii)
isinstancebytesdecodejsonJSONEncoderdefault)selfobjs     R/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/nbformat/v2/nbjson.pyr   zBytesEncoder.default"   s?    c5!! 	'::g&&&''c222    N)__name__
__module____qualname____doc__r    r   r   r   r      s)        JJ3 3 3 3 3r   r   c                      e Zd ZdZd Zd ZdS )
JSONReaderzA JSON notebook reader.c                F    t          j        |fi |} | j        |fi |}|S zConvert a string to a notebook.)r   loadsto_notebook)r   skwargsnbs       r   readszJSONReader.reads,   s8    Z$$V$$Tb++F++	r   c                T    t          t          t          |                              S r!   )r	   r   r   )r   dr%   s      r   r#   zJSONReader.to_notebook2   s    \)A,,77888r   N)r   r   r   r   r'   r#   r   r   r   r   r   )   s8        !!  9 9 9 9 9r   r   c                      e Zd ZdZd ZdS )
JSONWriterzA JSON notebook writer.c                    t           |d<   d|d<   d|d<   |                    dd          r!t          t          j        |                    }t          j        |fi |S )z&Convert a notebook object to a string.clsr   indentT	sort_keysr
   )r   popr
   copydeepcopyr   dumps)r   r&   r%   s      r   writeszJSONWriter.writes:   sd    $ux"{::mT** 	0T]2..//Bz"'''''r   N)r   r   r   r   r4   r   r   r   r+   r+   7   s)        !!( ( ( ( (r   r+   )r   
__future__r   r1   r   nbbaser   rwbaser   r   r   r	   r
   r   r   r   r+   _reader_writerr'   readr#   writer4   r   r   r   <module>r<      s2   " # " " " " "         \ \ \ \ \ \ \ \ \ \ \ \ \ \3 3 3 3 34# 3 3 39 9 9 9 9 9 9 9
( 
( 
( 
( 
( 
( 
( 
( *,,
*,,|!	r   