import json import ast for path in ['uploads/OPS01/OPS01.ipynb', 'uploads/OPS01/OPS01_student.ipynb']: with open(path, encoding='utf-8') as f: nb = json.load(f) print("Checking:", path) print(" Cells count:", len(nb["cells"])) code_cells = 0 md_cells = 0 for i, cell in enumerate(nb['cells']): if cell['cell_type'] == 'code': code_cells += 1 code_src = ''.join(cell['source']) try: ast.parse(code_src) except SyntaxError as e: print(f" [ERROR] Syntax error in cell {i}: {e}") elif cell['cell_type'] == 'markdown': md_cells += 1 print(f" Passed! (Code cells: {code_cells}, Markdown cells: {md_cells})")