Skip to content

Commit

Permalink
Add cell execution_state
Browse files Browse the repository at this point in the history
  • Loading branch information
davidbrochart committed Nov 15, 2023
1 parent 8ea8da6 commit a1d5ea9
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions jupyter_ydoc/ynotebook.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ class YNotebook(YBaseDoc):
"cell_type": str,
"source": YText,
"metadata": YMap,
"execution_state": str,
"execution_count": Int | None,
"outputs": [] | None,
"attachments": {} | None
Expand Down Expand Up @@ -100,6 +101,7 @@ def get_cell(self, index: int) -> Dict[str, Any]:
"""
meta = json.loads(self._ymeta.to_json())
cell = json.loads(self._ycells[index].to_json())
cell.pop("execution_state", None)
cast_all(cell, float, int) # cells coming from Yjs have e.g. execution_count as float
if "id" in cell and meta["nbformat"] == 4 and meta["nbformat_minor"] <= 4:
# strip cell IDs if we have notebook format 4.0-4.4
Expand Down Expand Up @@ -171,6 +173,7 @@ def create_ycell(self, value: Dict[str, Any]) -> Y.YMap:
del cell["attachments"]
elif cell_type == "code":
cell["outputs"] = Y.YArray(cell.get("outputs", []))
cell["execution_state"] = "idle"

return Y.YMap(cell)

Expand Down

0 comments on commit a1d5ea9

Please sign in to comment.