Skip to content

Commit 24173a6

Browse files
committed
remove old expressions
1 parent c1ef2e3 commit 24173a6

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

nbclient/client.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ def timestamp() -> str:
4141
return datetime.datetime.utcnow().isoformat() + 'Z'
4242

4343

44+
MD_EXPRESSIONS_PREFIX = "md-expr"
45+
4446
class NotebookClient(LoggingConfigurable):
4547
"""
4648
Encompasses a Client for executing cells in a notebook
@@ -1054,7 +1056,7 @@ async def async_execute_expressions(self, cell, cell_index: int, expressions: t.
10541056
self.kc.execute(
10551057
'',
10561058
silent=True,
1057-
user_expressions={f"md-expr-{i}": expr for i, expr in enumerate(expressions)},
1059+
user_expressions={f"{MD_EXPRESSIONS_PREFIX}-{i}": expr for i, expr in enumerate(expressions)},
10581060
)
10591061
)
10601062
task_poll_kernel_alive = asyncio.ensure_future(
@@ -1085,7 +1087,10 @@ async def async_execute_expressions(self, cell, cell_index: int, expressions: t.
10851087
raise
10861088
self._check_raise_for_error(cell, exec_reply)
10871089
attachments = {key: val["data"] for key, val in exec_reply["content"]["user_expressions"].items()}
1088-
cell.setdefault("attachments", {}).update(attachments)
1090+
cell.setdefault("attachments", {})
1091+
# remove old expressions from cell
1092+
cell["attachments"] = {key: val for key, val in cell["attachments"].items() if not key.startswith(MD_EXPRESSIONS_PREFIX)}
1093+
cell["attachments"].update(attachments)
10891094
self.nb['cells'][cell_index] = cell
10901095
return cell
10911096

0 commit comments

Comments
 (0)