|
|
from django.shortcuts import render_to_responsefrom django.http import HttpResponse, HttpResponseRedirectfrom django.template import RequestContextfrom django.utils import simplejson
from main.views import *from pydash.settings import TIME_JS_REFRESH, TIME_JS_REFRESH_LONG
time_refresh = TIME_JS_REFRESHtime_refresh_long = TIME_JS_REFRESH_LONG
def uptime(request): """
Return uptime """
if not request.user.is_authenticated(): return HttpResponseRedirect('/login') try: up_time = get_uptime() except Exception: up_time = None data = simplejson.dumps(up_time) response = HttpResponse() response['Content-Type'] = "text/javascript" response.write(data) return response
def getdisk(request): """
Return the disk usage """
if not request.user.is_authenticated(): return HttpResponseRedirect('/login') try: getdisk = get_disk() except Exception: getdisk = None data = simplejson.dumps(getdisk) response = HttpResponse() response['Content-Type'] = "text/javascript" response.write(data) return response def getusers(request): """
Return the online users """
if not request.user.is_authenticated(): return HttpResponseRedirect('/login') try: getusers = get_users() except Exception: getusers = None data = simplejson.dumps(getusers) response = HttpResponse() response['Content-Type'] = "text/javascript" response.write(data) return response
def getusers(request): """
Return uptime """
if not request.user.is_authenticated(): return HttpResponseRedirect('/login') try: online_users = get_users() except Exception: online_users = None data = simplejson.dumps(online_users) response = HttpResponse() response['Content-Type'] = "text/javascript" response.write(data) return response
def cpuusage(request): """
Return CPU Usage in % """
if not request.user.is_authenticated(): return HttpResponseRedirect('/login')
try: cpu_usage = get_cpu_usage() except Exception: cpu_usage = 0 cpu = [ { "value": cpu_usage['free'], "color": "#0AD11B" }, { "value": cpu_usage['used'], "color": "#F7464A" } ]
data = simplejson.dumps(cpu) response = HttpResponse() response['Content-Type'] = "text/javascript" response.write(data) return response
def memusage(request): """
Return Memory Usage in % and numeric """
if not request.user.is_authenticated(): return HttpResponseRedirect('/login') datasets = []
try: mem_usage = get_mem() except Exception: mem_usage = 0
try: cookies = request._cookies['memory_usage'] except Exception: cookies = None
if not cookies: datasets.append(0) else: datasets = eval(cookies) if len(datasets) > 10: while datasets: del datasets[0] if len(datasets) == 10: break if len(datasets) <= 9: datasets.append(int(mem_usage['usage'])) if len(datasets) == 10: datasets.append(int(mem_usage['usage'])) del datasets[0]
# Some fix division by 0 Chart.js if len(datasets) == 10: if sum(datasets) == 0: datasets[9] += 0.1 if sum(datasets) / 10 == datasets[0]: datasets[9] += 0.1
memory = { 'labels': [""] * 10, 'datasets': [ { "fillColor": "rgba(249,134,33,0.5)", "strokeColor": "rgba(249,134,33,1)", "pointColor": "rgba(249,134,33,1)", "pointStrokeColor": "#fff", "data": datasets } ] } data = simplejson.dumps(memory) response = HttpResponse() response['Content-Type'] = "text/javascript" response.cookies['memory_usage'] = datasets response.write(data) return response def loadaverage(request): """
Return Load Average numeric """
if not request.user.is_authenticated(): return HttpResponseRedirect('/login') datasets = []
try: load_average = get_load() except Exception: load_average = 0
try: cookies = request._cookies['load_average'] except Exception: cookies = None
if not cookies: datasets.append(0) else: datasets = eval(cookies) if len(datasets) > 10: while datasets: del datasets[0] if len(datasets) == 10: break if len(datasets) <= 9: datasets.append(int(load_average)) if len(datasets) == 10: datasets.append(int(load_average)) del datasets[0]
# Some fix division by 0 Chart.js if len(datasets) == 10: if sum(datasets) == 0: datasets[9] += 0.1 if sum(datasets) / 10 == datasets[0]: datasets[9] += 0.1
load = { 'labels': [""] * 10, 'datasets': [ { "fillColor" : "rgba(151,187,205,0.5)", "strokeColor" : "rgba(151,187,205,1)", "pointColor" : "rgba(151,187,205,1)", "pointStrokeColor": "#fff", "data": datasets } ] } data = simplejson.dumps(load) response = HttpResponse() response['Content-Type'] = "text/javascript" response.cookies['load_average'] = datasets response.write(data) return response
|