File tree Expand file tree Collapse file tree 2 files changed +16
-1
lines changed
services/kernels/connection Expand file tree Collapse file tree 2 files changed +16
-1
lines changed Original file line number Diff line number Diff line change 24
24
import urllib
25
25
import warnings
26
26
from base64 import encodebytes
27
+ from pathlib import Path
27
28
28
29
from jupyter_client .kernelspec import KernelSpecManager
29
30
from jupyter_client .manager import KernelManager
@@ -1638,6 +1639,13 @@ def _update_notebook_dir(self, change):
1638
1639
self .log .warning (_i18n ("notebook_dir is deprecated, use root_dir" ))
1639
1640
self .root_dir = change ["new" ]
1640
1641
1642
+ external_connection_dir = Unicode (
1643
+ None ,
1644
+ allow_none = True ,
1645
+ config = True ,
1646
+ help = _i18n ("The directory to look at for external kernel connection files." ),
1647
+ )
1648
+
1641
1649
root_dir = Unicode (config = True , help = _i18n ("The directory to use for notebooks and kernels." ))
1642
1650
_root_dir_set = False
1643
1651
@@ -1873,10 +1881,14 @@ def init_configurables(self):
1873
1881
self .kernel_spec_manager = self .kernel_spec_manager_class (
1874
1882
parent = self ,
1875
1883
)
1884
+ external_connection_dir = self .external_connection_dir
1885
+ if external_connection_dir is None :
1886
+ external_connection_dir = str (Path (self .runtime_dir ) / "external_kernels" )
1876
1887
self .kernel_manager = self .kernel_manager_class (
1877
1888
parent = self ,
1878
1889
log = self .log ,
1879
1890
connection_dir = self .runtime_dir ,
1891
+ external_connection_dir = external_connection_dir ,
1880
1892
kernel_spec_manager = self .kernel_spec_manager ,
1881
1893
)
1882
1894
self .contents_manager = self .contents_manager_class (
Original file line number Diff line number Diff line change @@ -410,7 +410,10 @@ def disconnect(self):
410
410
)
411
411
412
412
# start buffering instead of closing if this was the last connection
413
- if self .multi_kernel_manager ._kernel_connections [self .kernel_id ] == 0 :
413
+ if (
414
+ self .kernel_id in self .multi_kernel_manager ._kernel_connections
415
+ and self .multi_kernel_manager ._kernel_connections [self .kernel_id ] == 0
416
+ ):
414
417
self .multi_kernel_manager .start_buffering (
415
418
self .kernel_id , self .session_key , self .channels
416
419
)
You can’t perform that action at this time.
0 commit comments