From 830e0064ef2decbb9fef0760328700148151e196 Mon Sep 17 00:00:00 2001 From: Zach Sailer Date: Thu, 13 May 2021 21:02:59 -0700 Subject: [PATCH] add property with sorted extensions --- jupyter_server/extension/manager.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/jupyter_server/extension/manager.py b/jupyter_server/extension/manager.py index d3f40d4da6..3e0d8e1bd6 100644 --- a/jupyter_server/extension/manager.py +++ b/jupyter_server/extension/manager.py @@ -273,6 +273,11 @@ def _config_manager_changed(self, change): """ ) + @property + def sorted_extensions(self): + """Returns an extensions dictionary, sorted alphabetically.""" + return dict(sorted(self.extensions.items())) + # The `_linked_extensions` attribute tracks when each extension # has been successfully linked to a ServerApp. This helps prevent # extensions from being re-linked recursively unintentionally if another @@ -350,7 +355,7 @@ def link_all_extensions(self, serverapp): """ # Sort the extension names to enforce deterministic linking # order. - for name in sorted(self.extensions.keys()): + for name in self.sorted_extensions.keys(): self.link_extension(name, serverapp) def load_all_extensions(self, serverapp): @@ -359,5 +364,5 @@ def load_all_extensions(self, serverapp): """ # Sort the extension names to enforce deterministic loading # order. - for name in sorted(self.extensions.keys()): + for name in self.sorted_extensions.keys(): self.load_extension(name, serverapp)