Skip to content

Commit 33a523c

Browse files
authored
Merge pull request #275 from Zsailer/linked-extensions
Track linked extensions in extension manager
2 parents 1c5ad96 + 0ae2f53 commit 33a523c

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

jupyter_server/extension/manager.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,12 @@ def extension_points(self):
257257
for name, point in value.extension_points.items()
258258
}
259259

260+
@property
261+
def linked_extensions(self):
262+
"""Dictionary with extension names as keys; values are
263+
True if the extension is linked, False if not."""
264+
return self._linked_extensions
265+
260266
def from_config_manager(self, config_manager):
261267
"""Add extensions found by an ExtensionConfigManager"""
262268
self._config_manager = config_manager
@@ -281,7 +287,9 @@ def link_extension(self, name, serverapp):
281287
extension = self.extensions[name]
282288
if not linked and extension.enabled:
283289
try:
290+
# Link extension and store links
284291
extension.link_all_points(serverapp)
292+
self._linked_extensions[name] = True
285293
self.log.info("{name} | extension was successfully linked.".format(name=name))
286294
except Exception as e:
287295
self.log.warning(e)

tests/extension/test_manager.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,3 +75,10 @@ def test_extension_manager_api():
7575
assert len(manager.extensions) == 1
7676
assert "tests.extension.mockextensions" in manager.extensions
7777

78+
79+
def test_extension_manager_linked_extensions(serverapp):
80+
name = "tests.extension.mockextensions"
81+
manager = ExtensionManager()
82+
manager.add_extension(name, enabled=True)
83+
manager.link_extension(name, serverapp)
84+
assert name in manager.linked_extensions

0 commit comments

Comments
 (0)