Spaces:
Runtime error
Runtime error
codellama-CodeLlama-7b-hf
/
Llama2-Code-Interpreter-main
/OpenCodeInterpreter
/data_collection
/Local-Code-Interpreter
/src
/notebook_serializer.py
import nbformat | |
from nbformat import v4 as nbf | |
import ansi2html | |
import os | |
import argparse | |
# main code | |
parser = argparse.ArgumentParser() | |
parser.add_argument("-n", "--notebook", help="Path to the output notebook", default=None, type=str) | |
args = parser.parse_args() | |
if args.notebook: | |
notebook_path = os.path.join(os.getcwd(), args.notebook) | |
base, ext = os.path.splitext(notebook_path) | |
if ext.lower() != '.ipynb': | |
notebook_path += '.ipynb' | |
if os.path.exists(notebook_path): | |
print(f'File at {notebook_path} already exists. Please choose a different file name.') | |
exit() | |
# Global variable for code cells | |
nb = nbf.new_notebook() | |
def ansi_to_html(ansi_text): | |
converter = ansi2html.Ansi2HTMLConverter() | |
html_text = converter.convert(ansi_text) | |
return html_text | |
def write_to_notebook(): | |
if args.notebook: | |
with open(notebook_path, 'w', encoding='utf-8') as f: | |
nbformat.write(nb, f) | |
def add_code_cell_to_notebook(code): | |
code_cell = nbf.new_code_cell(source=code) | |
nb['cells'].append(code_cell) | |
write_to_notebook() | |
def add_code_cell_output_to_notebook(output): | |
html_content = ansi_to_html(output) | |
cell_output = nbf.new_output(output_type='display_data', data={'text/html': html_content}) | |
nb['cells'][-1]['outputs'].append(cell_output) | |
write_to_notebook() | |
def add_code_cell_error_to_notebook(error): | |
nbf_error_output = nbf.new_output( | |
output_type='error', | |
ename='Error', | |
evalue='Error message', | |
traceback=[error] | |
) | |
nb['cells'][-1]['outputs'].append(nbf_error_output) | |
write_to_notebook() | |
def add_image_to_notebook(image, mime_type): | |
image_output = nbf.new_output(output_type='display_data', data={mime_type: image}) | |
nb['cells'][-1]['outputs'].append(image_output) | |
write_to_notebook() | |
def add_markdown_to_notebook(content, title=None): | |
if title: | |
content = "##### " + title + ":\n" + content | |
markdown_cell = nbf.new_markdown_cell(content) | |
nb['cells'].append(markdown_cell) | |
write_to_notebook() | |