Skip to content

Commit 471f1f8

Browse files
CarreauMeeseeksDev[bot]
authored andcommitted
Backport PR #310: Tolerate invalid kernel specs in get_all_specs()
1 parent 0934194 commit 471f1f8

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

jupyter_client/kernelspec.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -226,10 +226,17 @@ def get_all_specs(self):
226226
}
227227
"""
228228
d = self.find_kernel_specs()
229-
return {kname: {
230-
"resource_dir": d[kname],
231-
"spec": self._get_kernel_spec_by_name(kname, d[kname]).to_dict()
232-
} for kname in d}
229+
res = {}
230+
for kname, resource_dir in d.items():
231+
try:
232+
spec = self._get_kernel_spec_by_name(kname, resource_dir)
233+
res[kname] = {
234+
"resource_dir": resource_dir,
235+
"spec": spec.to_dict()
236+
}
237+
except Exception:
238+
self.log.warning("Error loading kernelspec %r", kname, exc_info=True)
239+
return res
233240

234241
def remove_kernel_spec(self, name):
235242
"""Remove a kernel spec directory by name.

0 commit comments

Comments
 (0)