From c2b8a0ed09a690a31153bbfc90c3ac7427391046 Mon Sep 17 00:00:00 2001 From: David Brochart Date: Thu, 23 Nov 2023 16:50:48 +0100 Subject: [PATCH] Add optional file ID to document state --- jupyter_ydoc/ybasedoc.py | 20 ++++++++++++++++++++ jupyter_ydoc/ynotebook.py | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/jupyter_ydoc/ybasedoc.py b/jupyter_ydoc/ybasedoc.py index 249bb58..5fdf952 100644 --- a/jupyter_ydoc/ybasedoc.py +++ b/jupyter_ydoc/ybasedoc.py @@ -109,6 +109,16 @@ def path(self) -> Optional[str]: """ return self._ystate.get("path") + @property + def file_id(self) -> Optional[str]: + """ + Returns document's file ID. + + :return: Document's file ID. + :rtype: Optional[str] + """ + return self._ystate.get("file_id") + @path.setter def path(self, value: str) -> None: """ @@ -119,6 +129,16 @@ def path(self, value: str) -> None: """ self._ystate["path"] = value + @file_id.setter + def file_id(self, value: str) -> None: + """ + Sets document's file ID. + + :param value: Document's file ID. + :type value: str + """ + self._ystate["file_id"] = value + @abstractmethod def get(self) -> Any: """ diff --git a/jupyter_ydoc/ynotebook.py b/jupyter_ydoc/ynotebook.py index 5166af1..b5d9ee3 100644 --- a/jupyter_ydoc/ynotebook.py +++ b/jupyter_ydoc/ynotebook.py @@ -229,7 +229,7 @@ def set(self, value: Dict) -> None: # clear document self._ymeta.clear() self._ycells.clear() - for key in [k for k in self._ystate.keys() if k not in ("dirty", "path")]: + for key in [k for k in self._ystate.keys() if k not in ("dirty", "path", "file_id")]: del self._ystate[key] # initialize document