##// END OF EJS Templates
Improve abs pattern views, templates and plots....
Improve abs pattern views, templates and plots. git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@203 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r172:a641bec15a9b
r180:d4783015f56a
Show More
views.py
322 lines | 9.9 KiB | text/x-python | PythonLexer
from django.shortcuts import redirect, render, get_object_or_404
from django.contrib import messages
from django.http import HttpResponse
from apps.main.models import Experiment
from .models import CGSConfiguration
from .forms import CGSConfigurationForm, UploadFileForm
from apps.main.views import sidebar
import requests
import json
#from __builtin__ import None
# Create your views here.
def cgs_conf(request, id_conf):
conf = get_object_or_404(CGSConfiguration, pk=id_conf)
ip=conf.device.ip_address
port=conf.device.port_address
kwargs = {}
kwargs['status'] = conf.device.get_status_display()
#if request.method=='GET':
#r: response = icon, status
# try:
# route = "http://" + str(ip) + ":" + str(port) + "/status/ad9548"
# r = requests.get(route)
# response = str(r.text)
# response = response.split(";")
# icon = response[0]
# status = response[-1]
#print r.text
#"icon" could be: "alert" or "okay"
# Si hay alerta pero esta conectado
# if "alert" in icon:
# if "Starting Up" in status: #No Esta conectado
# kwargs['connected'] = False
# else:
# kwargs['connected'] = True
# elif "okay" in icon:
# kwargs['connected'] = True
# else:
# kwargs['connected'] = False
# except:
# kwargs['connected'] = False
# status = "The Device is not connected."
#if not kwargs['connected']:
# messages.error(request, message=status)
kwargs['dev_conf'] = conf
kwargs['dev_conf_keys'] = ['name',
'freq0', 'freq1',
'freq2', 'freq3']
kwargs['title'] = 'CGS Configuration'
kwargs['suptitle'] = 'Details'
kwargs['button'] = 'Edit Configuration'
kwargs['no_play'] = True
###### SIDEBAR ######
kwargs.update(sidebar(conf=conf))
return render(request, 'cgs_conf.html', kwargs)
def cgs_conf_edit(request, id_conf):
conf = get_object_or_404(CGSConfiguration, pk=id_conf)
if request.method=='GET':
form = CGSConfigurationForm(instance=conf)
if request.method=='POST':
form = CGSConfigurationForm(request.POST, instance=conf)
if form.is_valid():
if conf.freq0 == None: conf.freq0 = 0
if conf.freq1 == None: conf.freq1 = 0
if conf.freq2 == None: conf.freq2 = 0
if conf.freq3 == None: conf.freq3 = 0
conf = form.save(commit=False)
if conf.verify_frequencies():
conf.save()
return redirect('url_cgs_conf', id_conf=conf.id)
##ERRORS
kwargs = {}
kwargs['id_dev'] = conf.id
kwargs['form'] = form
kwargs['title'] = 'Device Configuration'
kwargs['suptitle'] = 'Edit'
kwargs['button'] = 'Save'
return render(request, 'cgs_conf_edit.html', kwargs)
#
# def cgs_conf_write(request, id_conf):
#
# conf = get_object_or_404(CGSConfiguration, pk=id_conf)
# ip=conf.device.ip_address
# port=conf.device.port_address
#
# #Frequencies from form
# f0 = conf.freq0
# f1 = conf.freq1
# f2 = conf.freq2
# f3 = conf.freq3
#
# try:
# post_data = {"f0":f0, "f1":f1, "f2":f2, "f3":f3}
# route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
# r = requests.post(route, post_data)
# text = r.text
# text = text.split(',')
#
# try:
# if len(text)>1:
# title = text[0]
# status = text[1]
# status_ok = r.status_code
# if title == "okay":
# messages.success(request, status)
# else:
# messages.error(request, status)
#
# else:
# title = text[0]
# messages.error(request, title)
#
# except:
# messages.error(request, "An hardware error was found.")
#
# except:
# messages.error(request, "Could not write parameters.")
#
#
#
#
# return redirect('url_cgs_conf', id_conf=conf.id)
#
# def cgs_conf_read(request, id_conf):
#
# conf = get_object_or_404(CGSConfiguration, pk=id_conf)
#
# ip=conf.device.ip_address
# port=conf.device.port_address
#
# if request.method=='POST':
# form = CGSConfigurationForm(request.POST, instance=conf)
#
# if form.is_valid():
# cgs_model = form.save(commit=False)
#
# if cgs_model.verify_frequencies():
#
# cgs_model.save()
# return redirect('url_cgs_conf', id_conf=conf.id)
#
# messages.error(request, "Parameters could not be saved. Invalid parameters")
#
# data = {}
#
#
# if request.method=='GET':
# #r: response = icon, status
# route = "http://" + str(ip) + ":" + str(port) + "/status/ad9548"
# try:
# r = requests.get(route)
# response = str(r.text)
# response = response.split(";")
# icon = response[0]
# status = response[-1]
# print r.text
# #"icon" could be: "alert" or "okay"
# if "okay" in icon:
# messages.success(request, status)
# else:
# messages.error(request, status)
# #Get Frequencies
# route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
# #frequencies = requests.get('http://10.10.10.175:8080/frequencies/')
# frequencies = requests.get(route)
# frequencies = frequencies.json()
# frequencies = frequencies.get("Frecuencias")
# f0 = frequencies.get("f0")
# f1 = frequencies.get("f1")
# f2 = frequencies.get("f2")
# f3 = frequencies.get("f3")
# print f0,f1,f2,f3
#
#
# if not response:
# messages.error(request, "Could not read parameters from Device")
# return redirect('url_cgs_conf', id_conf=conf.id)
#
# data = {'experiment' : conf.experiment.id,
# 'device' : conf.device.id,
# 'freq0' : f0,
# 'freq1' : f1,
# 'freq2' : f2,
# 'freq3' : f3,
# }
# except:
# messages.error(request, "Could not read parameters from Device")
# data = {'experiment' : conf.experiment.id,
# 'device' : conf.device.id,
# 'freq0' : None,
# 'freq1' : None,
# 'freq2' : None,
# 'freq3' : None,
# }
# return redirect('url_cgs_conf', id_conf=conf.id)
#
# form = CGSConfigurationForm(initial = data)
#
# kwargs = {}
# kwargs['id_dev'] = conf.id
# kwargs['form'] = form
# kwargs['title'] = 'Device Configuration'
# kwargs['suptitle'] = 'Parameters read from device'
# kwargs['button'] = 'Save'
#
# ###### SIDEBAR ######
# kwargs.update(sidebar(conf))
#
# return render(request, 'cgs_conf_edit.html', kwargs)
#
# def cgs_conf_import(request, id_conf):
#
# conf = get_object_or_404(CGSConfiguration, pk=id_conf)
#
# if request.method == 'POST':
# file_form = UploadFileForm(request.POST, request.FILES)
#
# if file_form.is_valid():
#
# try:
# if conf.update_from_file(request.FILES['file']):
#
# try:
# conf.full_clean()
# except ValidationError as e:
# messages.error(request, e)
# else:
# conf.save()
#
# messages.success(request, "Parameters imported from file: '%s'." %request.FILES['file'].name)
# #messages.warning(request,"")
# return redirect('url_cgs_conf', id_conf=conf.id)
# except:
# messages.error(request, "No JSON object could be decoded.")
#
# messages.error(request, "Could not import parameters from file")
#
# else:
# file_form = UploadFileForm(initial={'title': '.json'})
#
#
# kwargs = {}
# kwargs['id_dev'] = conf.id
# kwargs['title'] = 'Device Configuration'
# kwargs['form'] = file_form
# kwargs['suptitle'] = 'Importing file'
# kwargs['button'] = 'Import'
#
# kwargs.update(sidebar(conf))
#
# return render(request, 'cgs_conf_import.html', kwargs)
#
# def handle_uploaded_file(f):
#
# data = {'freq0' : 62500000,
# 'freq1' : 62500000,
# 'freq2' : 62500000,
# 'freq3' : 62500000,
# }
#
# return data
#
# def cgs_conf_export(request, id_conf):
#
# conf = get_object_or_404(CGSConfiguration, pk=id_conf)
# ip=conf.device.ip_address
# port=conf.device.port_address
#
# #if request.method=='GET':
# # data = {"Frequencies": [
# # ["freq0", conf.freq0],
# # ["freq1", conf.freq1],
# # ["freq2", conf.freq2],
# # ["freq3", conf.freq3]
# # ]}
# # json_data = json.dumps(data)
# # conf.parameters = json_data
# # response = HttpResponse(conf.parameters, content_type="application/json")
# # response['Content-Disposition'] = 'attachment; filename="data.json"'
#
# # return response
#
# kwargs = {}
# kwargs['dev_conf'] = conf
# kwargs['dev_conf_keys'] = ['experiment', 'device',
# 'freq0', 'freq1',
# 'freq2', 'freq3']
#
# kwargs['title'] = 'CGS Configuration'
# kwargs['suptitle'] = 'Details'
#
# kwargs['button'] = 'Edit Configuration'
#
# ###### SIDEBAR ######
# kwargs.update(sidebar(conf))
# return render(request, 'cgs_conf.html', kwargs)