|
83 | 83 |
|
84 | 84 | class Bookmark(ABC): |
85 | 85 |
|
86 | | - # TODO: Barret - This feels like it needs to be a weakref |
87 | 86 | _session_root: Session |
88 | 87 | """ |
89 | 88 | The root session object (most likely a `AppSession` object). |
@@ -145,7 +144,6 @@ def __init__(self, session_root: Session): |
145 | 144 | # from ._restore_state import RestoreContext |
146 | 145 |
|
147 | 146 | super().__init__() |
148 | | - # TODO: Barret - Q: Should this be a weakref; Session -> Bookmark -> Session |
149 | 147 | self._session_root = session_root |
150 | 148 | self._restore_context_value = None |
151 | 149 | self._store = MISSING |
@@ -248,7 +246,6 @@ async def update_query_string( |
248 | 246 | ... |
249 | 247 |
|
250 | 248 | @abstractmethod |
251 | | - # TODO: Barret - Q: Rename to `update()`? `session.bookmark.update()`? |
252 | 249 | async def do_bookmark(self) -> None: |
253 | 250 | """ |
254 | 251 | Perform bookmarking. |
@@ -521,7 +518,6 @@ def __init__(self, session_proxy: SessionProxy): |
521 | 518 | super().__init__(session_proxy.root_scope()) |
522 | 519 |
|
523 | 520 | self._ns = session_proxy.ns |
524 | | - # TODO: Barret - Q: Should this be a weakref |
525 | 521 | self._session_proxy = session_proxy |
526 | 522 |
|
527 | 523 | self._session_root.bookmark._proxy_exclude_fns.append( |
@@ -625,11 +621,8 @@ def on_bookmarked( |
625 | 621 | self, |
626 | 622 | callback: Callable[[str], None] | Callable[[str], Awaitable[None]], |
627 | 623 | /, |
628 | | - ) -> NoReturn: |
629 | | - # TODO: Barret - Q: Shouldn't we implement this? `self._root_bookmark.on_bookmark()` |
630 | | - raise NotImplementedError( |
631 | | - "Please call `.on_bookmarked()` from the root session only, e.g. `session.root_scope().bookmark.on_bookmark()`." |
632 | | - ) |
| 624 | + ) -> CancelCallback: |
| 625 | + return self._on_bookmarked_callbacks.register(wrap_async(callback)) |
633 | 626 |
|
634 | 627 | def _get_bookmark_exclude(self) -> NoReturn: |
635 | 628 | raise NotImplementedError( |
|
0 commit comments