From c37c273f62bac19bbfd23b8cb2b3f289d333f05a Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Fri, 26 Jan 2024 11:29:40 +0100 Subject: [PATCH] Avoid loading CWD config when API is called too --- nbgrader/apps/baseapp.py | 10 +++++++--- nbgrader/server_extensions/formgrader/formgrader.py | 1 + nbgrader/server_extensions/formgrader/handlers.py | 2 ++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/nbgrader/apps/baseapp.py b/nbgrader/apps/baseapp.py index d468f8212..4d513c577 100644 --- a/nbgrader/apps/baseapp.py +++ b/nbgrader/apps/baseapp.py @@ -64,6 +64,8 @@ class NbGrader(JupyterApp): aliases = nbgrader_aliases flags = nbgrader_flags + load_cwd_config = True + _log_formatter_cls = LogFormatter @default("log_level") @@ -358,7 +360,8 @@ def load_config_file(self, **kwargs: Any) -> None: paths = [os.path.abspath("{}.py".format(self.config_file))] else: config_dir = self.config_file_paths.copy() - config_dir.insert(0, os.getcwd()) + if self.load_cwd_config: + config_dir.insert(0, os.getcwd()) paths = [os.path.join(x, "{}.py".format(self.config_file_name)) for x in config_dir] if not any(os.path.exists(x) for x in paths): @@ -366,8 +369,9 @@ def load_config_file(self, **kwargs: Any) -> None: super(NbGrader, self).load_config_file(**kwargs) - # Load also config from current working directory - super(JupyterApp, self).load_config_file(self.config_file_name, os.getcwd()) + if (self.load_cwd_config): + # Load also config from current working directory + super(JupyterApp, self).load_config_file(self.config_file_name, os.getcwd()) def start(self) -> None: super(NbGrader, self).start() diff --git a/nbgrader/server_extensions/formgrader/formgrader.py b/nbgrader/server_extensions/formgrader/formgrader.py index bbc83da06..bae37b56c 100644 --- a/nbgrader/server_extensions/formgrader/formgrader.py +++ b/nbgrader/server_extensions/formgrader/formgrader.py @@ -45,6 +45,7 @@ def url_prefix(self): def load_config(self): app = NbGrader() + app.load_cwd_config = self.load_cwd_config app.config_dir = self.config_dir app.load_config_file() diff --git a/nbgrader/server_extensions/formgrader/handlers.py b/nbgrader/server_extensions/formgrader/handlers.py index 45e7f38bc..1efd407d4 100644 --- a/nbgrader/server_extensions/formgrader/handlers.py +++ b/nbgrader/server_extensions/formgrader/handlers.py @@ -20,6 +20,7 @@ def get(self): path = self.get_argument('path', '') if path: path = os.path.abspath(path) + formgrader.load_cwd_config = False formgrader.config = Config() formgrader.config_dir = path formgrader.initialize([], root=path) @@ -28,6 +29,7 @@ def get(self): formgrader.config = self.settings['initial_config'] formgrader.config_dir = jupyter_config_dir() formgrader.initialize([]) + formgrader.load_cwd_config = True self.redirect(f"{self.base_url}/formgrader/manage_assignments/")