from time import sleep
from django.shortcuts import render
from .models import *
from django.http import HttpResponse
# Create your views here.
def vserver_register(request):
if request.method == 'GET':
return render(request,'server_register.html')
else:
vserver_name = request.POST.get('tserver_name','')
vserver_main_ip = request.POST.get('tserver_main_ip','')
vnewserver = server_register(vserver_name,vserver_main_ip)
if vnewserver:
return render(request,'success.html')
return render(request,'fail.html')
def vadmin_register(request):
if request.method == 'GET':
return render(request,'admin_register.html')
else:
vadmin_name = request.POST.get('tadmin_name','')
vadmin_gid = request.POST.get('tadmin_gid','')
vadmin_email = request.POST.get('tadmin_email','')
vadmin_phone = request.POST.get('tadmin_phone','')
vadmin_level = request.POST.get('tadmin_level','')
vnewadmin = admin_register(vadmin_name,vadmin_gid,vadmin_email,vadmin_phone,vadmin_level)
if vnewadmin:
return render(request,'success.html')
return render(request,'fail.html')
def vserver_bind_admin(request):
if request.method == 'GET':
return render(request,'server_bind_admin.html')
else:
vserver_bind = request.POST.get('server_bind_name','')
vadmin_bind = request.POST.get('admin_bind_name','')
dbind(vserver_bind,vadmin_bind)
vnewbind = server.objects.filter(server_name = vserver_bind).filter(admin__admin_name = vadmin_bind)
if vnewbind:
return render(request,'success.html')
return render(request,'fail.html')
def vserver_list(request):
vserver_name_choice = request.POST.getlist('tserver_name_choice','')
if vserver_name_choice != '':
for vserver_name_choices in vserver_name_choice:
os_check_thread = threading.Thread(target=os_check_all, args=[vserver_name_choices])
cpu_check_thread = threading.Thread(target=cpu_check_all, args=[vserver_name_choices])
mem_check_thread = threading.Thread(target=mem_check_all, args=[vserver_name_choices])
space_check_thread = threading.Thread(target=space_check_all, args=[vserver_name_choices])
nc_check_thread = threading.Thread(target=nc_check_all, args=[vserver_name_choices])
os_check_thread.start()
cpu_check_thread.start()
mem_check_thread.start()
space_check_thread.start()
nc_check_thread.start()
os_check_thread.join()
cpu_check_thread.join()
mem_check_thread.join()
space_check_thread.join()
nc_check_thread.join()
for vserver_name_choices in vserver_name_choice:
server_change_status(vserver_name_choices)
vserver_all = server.objects.all()
return render(request,'server_list.html',{'tserver_all':vserver_all})
import threading
def vserver_detail(request):
vsdmserver = request.GET.get('server_name','')
vrefresh = request.POST.get('trefresh','')
if vrefresh == 'single thread':
os_check_all(vsdmserver)
cpu_check_all(vsdmserver)
mem_check_all(vsdmserver)
space_check_all(vsdmserver)
nc_check_all(vsdmserver)
server_change_status(vsdmserver)
if vrefresh == 'multi thread':
os_check_thread = threading.Thread(target=os_check_all, args=[vsdmserver])
cpu_check_thread = threading.Thread(target=cpu_check_all, args=[vsdmserver])
mem_check_thread = threading.Thread(target=mem_check_all, args=[vsdmserver])
space_check_thread = threading.Thread(target=space_check_all, args=[vsdmserver])
nc_check_thread = threading.Thread(target=nc_check_all, args=[vsdmserver])
os_check_thread.start()
cpu_check_thread.start()
mem_check_thread.start()
space_check_thread.start()
nc_check_thread.start()
os_check_thread.join()
cpu_check_thread.join()
mem_check_thread.join()
space_check_thread.join()
nc_check_thread.join()
server_change_status(vsdmserver)
vsdserver = server.objects.filter(server_name = vsdmserver)
vsdos = server.objects.get(server_name = vsdmserver).os_set.all()
vsdcpu = server.objects.get(server_name = vsdmserver).cpu_set.all()
vsdmem = server.objects.get(server_name = vsdmserver).mem_set.all()
vsdspace = server.objects.get(server_name = vsdmserver).space_set.all()
vsdnc = server.objects.get(server_name = vsdmserver).nc_set.all()
vsdadmin = server.objects.get(server_name = vsdmserver).admin_set.all()
return render(request,'server_detail.html',{'tserver':vsdserver,'tos':vsdos,'tcpu':vsdcpu,'tmem':vsdmem,'tspace':vsdspace,'tnc':vsdnc,'tsdadmin':vsdadmin})