##// END OF EJS Templates
wait for terminal to terminate
Min RK -
Show More
@@ -1,44 +1,44
1 1 import json
2 from tornado import web
2 from tornado import web, gen
3 3 from ..base.handlers import IPythonHandler, json_errors
4 4 from ..utils import url_path_join
5 5
6 6 class TerminalRootHandler(IPythonHandler):
7 7 @web.authenticated
8 8 @json_errors
9 9 def get(self):
10 10 tm = self.terminal_manager
11 11 terms = [{'name': name} for name in tm.terminals]
12 12 self.finish(json.dumps(terms))
13 13
14 14 @web.authenticated
15 15 @json_errors
16 16 def post(self):
17 17 """POST /terminals creates a new terminal and redirects to it"""
18 18 name, _ = self.terminal_manager.new_named_terminal()
19 19 self.finish(json.dumps({'name': name}))
20 20
21 21
22 22 class TerminalHandler(IPythonHandler):
23 23 SUPPORTED_METHODS = ('GET', 'DELETE')
24 24
25 25 @web.authenticated
26 26 @json_errors
27 27 def get(self, name):
28 28 tm = self.terminal_manager
29 29 if name in tm.terminals:
30 30 self.finish(json.dumps({'name': name}))
31 31 else:
32 32 raise web.HTTPError(404, "Terminal not found: %r" % name)
33 33
34 34 @web.authenticated
35 35 @json_errors
36 @gen.coroutine
36 37 def delete(self, name):
37 38 tm = self.terminal_manager
38 39 if name in tm.terminals:
39 tm.kill(name)
40 # XXX: Should this wait for terminal to finish before returning?
40 yield tm.terminate(name, force=True)
41 41 self.set_status(204)
42 42 self.finish()
43 43 else:
44 raise web.HTTPError(404, "Terminal not found: %r" % name) No newline at end of file
44 raise web.HTTPError(404, "Terminal not found: %r" % name)
General Comments 0
You need to be logged in to leave comments. Login now