X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/blobdiff_plain/f62402633cb330e8c6cedca044bdb6049ddc413b..a2089d8328143e3e6836de6623b8b1690edfcfba:/code/main.py diff --git a/code/main.py b/code/main.py index dd2b591..0f8ed77 100755 --- a/code/main.py +++ b/code/main.py @@ -37,6 +37,7 @@ from invirt.config import structs as config from invirt.common import InvalidInput, CodeError from view import View, revertStandardError +import ajaxterm static_dir = os.path.join(os.path.dirname(__file__), 'static') @@ -388,6 +389,23 @@ console will suffer artifacts. else: raise InvalidInput('back', back, 'Not a known back page.') + atmulti = ajaxterm.Multiplex() + atsessions = {} + + @cherrypy.expose + @cherrypy.tools.mako(filename="/terminal.mako") + def terminal(self, machine_id): + machine = validation.Validate(cherrypy.request.login, cherrypy.request.state, machine_id=machine_id).machine + + status = controls.statusInfo(machine) + has_vnc = hasVnc(status) + + d = dict(on=status, + has_vnc=has_vnc, + machine=machine, + hostname=cherrypy.request.local.name) + return d + machine = MachineView()