MCPcopy Index your code
hub / github.com/retspen/webvirtcloud / console

Function console

console/views.py:12–56  ·  view source on GitHub ↗

:param request: :return:

(request)

Source from the content-addressed store, hash-verified

10
11
12def console(request):
13 """
14 :param request:
15 :return:
16 """
17
18 if not request.user.is_authenticated():
19 return HttpResponseRedirect(reverse('login'))
20
21 if request.method == 'GET':
22 token = request.GET.get('token', '')
23
24 try:
25 temptoken = token.split('-', 1)
26 host = int(temptoken[0])
27 uuid = temptoken[1]
28 instance = Instance.objects.get(compute_id=host, uuid=uuid)
29 conn = wvmInstance(instance.compute.hostname,
30 instance.compute.login,
31 instance.compute.password,
32 instance.compute.type,
33 instance.name)
34 console_type = conn.get_console_type()
35 console_websocket_port = conn.get_console_websocket_port()
36 console_passwd = conn.get_console_passwd()
37 except libvirtError as lib_err:
38 console_type = None
39 console_websocket_port = None
40 console_passwd = None
41
42 ws_port = console_websocket_port if console_websocket_port else WS_PORT
43 ws_host = WS_PUBLIC_HOST if WS_PUBLIC_HOST else request.get_host()
44
45 if ':' in ws_host:
46 ws_host = re.sub(':[0-9]+', '', ws_host)
47
48 if console_type == 'vnc':
49 response = render(request, 'console-vnc.html', locals())
50 elif console_type == 'spice':
51 response = render(request, 'console-spice.html', locals())
52 else:
53 response = "Console type %s no support" % console_type
54
55 response.set_cookie('token', token)
56 return response

Callers

nothing calls this directly

Calls 4

wvmInstanceClass · 0.90
get_console_typeMethod · 0.80
get_console_passwdMethod · 0.80

Tested by

no test coverage detected