From 55ff3e9ac1d892165bfb4352379672019b66ddff Mon Sep 17 00:00:00 2001 From: Stuart Axon Date: Wed, 7 Aug 2024 13:26:07 +0100 Subject: [PATCH] Don't die if template path cannot be read (#2162) --- nbconvert/exporters/templateexporter.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/nbconvert/exporters/templateexporter.py b/nbconvert/exporters/templateexporter.py index c09e6583b..c6a337d48 100644 --- a/nbconvert/exporters/templateexporter.py +++ b/nbconvert/exporters/templateexporter.py @@ -565,13 +565,19 @@ def _template_paths(self, prune=True, root_dirs=None): for template_name in template_names: for base_dir in self.extra_template_basedirs: path = os.path.join(base_dir, template_name) - if not prune or os.path.exists(path): - paths.append(path) + try: + if not prune or os.path.exists(path): + paths.append(path) + except PermissionError: + pass for root_dir in root_dirs: base_dir = os.path.join(root_dir, "nbconvert", "templates") path = os.path.join(base_dir, template_name) - if not prune or os.path.exists(path): - paths.append(path) + try: + if not prune or os.path.exists(path): + paths.append(path) + except PermissionError: + pass for root_dir in root_dirs: # we include root_dir for when we want to be very explicit, e.g.