22 lines
750 B
Python
22 lines
750 B
Python
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})")
|