14
14
from .terminalmanager import TerminalManager
15
15
16
16
17
- def initialize (server_app ):
17
+ def initialize (webapp , root_dir , connection_url , settings ):
18
18
if os .name == 'nt' :
19
19
default_shell = 'powershell.exe'
20
20
else :
21
21
default_shell = which ('sh' )
22
- shell_override = server_app . terminado_settings .get ('shell_command' )
22
+ shell_override = settings .get ('shell_command' )
23
23
shell = (
24
24
[os .environ .get ('SHELL' ) or default_shell ]
25
25
if shell_override is None
@@ -32,19 +32,20 @@ def initialize(server_app):
32
32
# the user has specifically set a preferred shell command.
33
33
if os .name != 'nt' and shell_override is None and not sys .stdout .isatty ():
34
34
shell .append ('-l' )
35
- terminal_manager = server_app . web_app .settings ['terminal_manager' ] = TerminalManager (
35
+ terminal_manager = webapp .settings ['terminal_manager' ] = TerminalManager (
36
36
shell_command = shell ,
37
- extra_env = {'JUPYTER_SERVER_ROOT' : server_app . root_dir ,
38
- 'JUPYTER_SERVER_URL' : server_app . connection_url ,
37
+ extra_env = {'JUPYTER_SERVER_ROOT' : root_dir ,
38
+ 'JUPYTER_SERVER_URL' : connection_url ,
39
39
},
40
- parent = server_app ,
40
+ parent = webapp . settings [ 'serverapp' ] ,
41
41
)
42
- terminal_manager .log = server_app .log
43
- base_url = server_app . web_app .settings ['base_url' ]
42
+ terminal_manager .log = webapp . settings [ 'serverapp' ] .log
43
+ base_url = webapp .settings ['base_url' ]
44
44
handlers = [
45
+ (ujoin (base_url , r"/terminals/(\w+)" ), TerminalHandler ),
45
46
(ujoin (base_url , r"/terminals/websocket/(\w+)" ), TermSocket ,
46
47
{'term_manager' : terminal_manager }),
47
48
(ujoin (base_url , r"/api/terminals" ), api_handlers .TerminalRootHandler ),
48
49
(ujoin (base_url , r"/api/terminals/(\w+)" ), api_handlers .TerminalHandler ),
49
50
]
50
- server_app . web_app .add_handlers (".*$" , handlers )
51
+ webapp .add_handlers (".*$" , handlers )
0 commit comments