on master help sign in
add helpful message regarding starting dbserver
fa4774bAgentM
jupyter/itutd/ITutorialDKernel.py+18−9
@@ -28,10 +28,16 @@ class ITutorialDKernel(Kernel):
28 port = 63000
28 port = 63000
29 dbname = 'jupyter'
29 dbname = 'jupyter'
30 if not self.dbserver:
30 if not self.dbserver:
31+ try:
31− self.dbserver = subprocess.Popen(['project-m36-websocket-server',
32+ self.dbserver = subprocess.Popen(['project-m36-websocket-server',
32− '--database', dbname,
33+ '--database', dbname,
33− '--port', str(port)],
34+ '--port', str(port)],
34− )
35+ )
36+ except OSError as err:
37+ if err.errno == errno.ENOENT:
38+ return ({'displayerror':{'html':'"project-m36-websocket-server" is not in the PATH environment variable and could not be started.'}}, None)
39+ else:
40+ raise
35 if not self.ws:
41 if not self.ws:
36 attempts = 0
42 attempts = 0
37 while 1:
43 while 1:
@@ -72,6 +78,13 @@ class ITutorialDKernel(Kernel):
72 if 'promptInfo' not in msg:
78 if 'promptInfo' not in msg:
73 return msg
79 return msg
74
80
81+ def send_error(self, msg):
82+ stream_content = {'ename':'TutorialDError',
83+ 'traceback':[msg],
84+ 'evalue':''}
85+ self.send_response(self.iopub_socket, 'error', stream_content)
86+
87+
75 def do_execute(self, code, silent,
88 def do_execute(self, code, silent,
76 store_history=True,
89 store_history=True,
77 user_expressions=False,
90 user_expressions=False,
@@ -80,11 +93,7 @@ class ITutorialDKernel(Kernel):
80 if not silent:
93 if not silent:
81 if err:
94 if err:
82 status = 'error'
95 status = 'error'
83− stream_content = {'ename':'TutorialDError',
84− 'traceback':[err['displayerror']['html']],
96+ self.send_error(err['displayerror']['html'])
85− 'ename':'TutorialDError',
86− 'evalue':''}
87− self.send_response(self.iopub_socket, 'error', stream_content)
88 else:
97 else:
89 status = 'ok'
98 status = 'ok'
90 display_content = {
99 display_content = {