##// END OF EJS Templates
Update RC app (add support for mix configurations, bug plotting window line, )...
Update RC app (add support for mix configurations, bug plotting window line, ) git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@128 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r98:10a81d95e909
r107:9a3b62311f15
Show More
models.py
173 lines | 4.8 KiB | text/x-python | PythonLexer
Juan C. Espinoza
Proyecto base en Django (refs #259) ...
r0 from django.db import models
Juan C. Espinoza
Updating base models and views ...
r6 from apps.main.models import Configuration
Fiorella Quino
CGS model, form, view, url and html have been added....
r4 from django.core.validators import MinValueValidator, MaxValueValidator
from apps.main.models import Device, Experiment
Fiorella Quino
Task #95: se agrego la funcion "import" para archivos .json ...
r42 from files import read_json_file
Fiorella Quino
Task #95: Se agrego funcion "export" archivo .json para cgs. Se modifico modelo de cgs, de float a integer...
r43 # Create your models here. validators=[MinValueValidator(62.5e6), MaxValueValidator(450e6)]
Fiorella Quino
CGS model, form, view, url and html have been added....
r4
Juan C. Espinoza
Updating base models and views ...
r6 class CGSConfiguration(Configuration):
Fiorella Quino
Task #95: se agrego la funcion "import" para archivos .json ...
r42
Fiorella Quino
CGS models: default values...
r98 freq0 = models.PositiveIntegerField(verbose_name='Frequency 0',validators=[MaxValueValidator(450e6)], default = 60)
freq1 = models.PositiveIntegerField(verbose_name='Frequency 1',validators=[MaxValueValidator(450e6)], default = 60)
freq2 = models.PositiveIntegerField(verbose_name='Frequency 2',validators=[MaxValueValidator(450e6)], default = 60)
freq3 = models.PositiveIntegerField(verbose_name='Frequency 3',validators=[MaxValueValidator(450e6)], default = 60)
Fiorella Quino
Task #94: edit, save, read function...
r31
def verify_frequencies(self):
return True
Fiorella Quino
Task #95: se agrego la funcion "import" para archivos .json ...
r42
def update_from_file(self, fp):
kwargs = read_json_file(fp)
if not kwargs:
return False
self.freq0 = kwargs['freq0']
self.freq1 = kwargs['freq1']
self.freq2 = kwargs['freq2']
self.freq3 = kwargs['freq3']
return True
Fiorella Quino
Task #95: Modulo CGS "parms_to_dict()"...
r58
def parms_to_dict(self):
parameters = {}
if self.freq0 == None or self.freq0 == '':
parameters['freq0'] = 0
else:
parameters['freq0'] = self.freq0
if self.freq1 == None or self.freq1 == '':
parameters['freq1'] = 0
else:
parameters['freq1'] = self.freq1
if self.freq2 == None or self.freq2 == '':
parameters['freq2'] = 0
else:
parameters['freq2'] = self.freq2
if self.freq3 == None or self.freq3 == '':
parameters['freq3'] = 0
else:
parameters['freq3'] = self.freq3
return parameters
Fiorella Quino
Task #95: Modulo CGS ...
r59 def status_device(self):
import requests
ip=self.device.ip_address
port=self.device.port_address
route = "http://" + str(ip) + ":" + str(port) + "/status/ad9548"
try:
Fiorella Quino
Task # 487: Operation View: radar_play...
r90 r = requests.get(route,timeout=0.5)
Fiorella Quino
Task #95: Modulo CGS ...
r59 except:
self.device.status = 0
self.device.save()
return self.device.status
response = str(r.text)
response = response.split(";")
icon = response[0]
status = response[-1]
print icon, status
#"icon" could be: "alert" or "okay"
if "alert" in icon:
if "Starting Up" in status: #No Esta conectado
self.device.status = 0
else:
self.device.status = 1
elif "okay" in icon:
self.device.status = 3
else:
self.device.status = 1
self.message = status
self.device.save()
return self.device.status
def read_device(self):
import requests
ip=self.device.ip_address
port=self.device.port_address
route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
try:
Fiorella Quino
Task # 487: Operation View: radar_play...
r90 frequencies = requests.get(route,timeout=0.5)
Fiorella Quino
Task #95: Modulo CGS ...
r59
except:
self.message = "Could not read CGS parameters from this device"
return None
frequencies = frequencies.json()
frequencies = frequencies.get("Frecuencias")
f0 = frequencies.get("f0")
f1 = frequencies.get("f1")
f2 = frequencies.get("f2")
f3 = frequencies.get("f3")
parms = {'freq0': f0,
'freq1': f1,
'freq2': f2,
'freq3': f3}
self.message = ""
return parms
def write_device(self):
import requests
ip=self.device.ip_address
port=self.device.port_address
#---Frequencies from form
f0 = self.freq0
f1 = self.freq1
f2 = self.freq2
f3 = self.freq3
post_data = {"f0":f0, "f1":f1, "f2":f2, "f3":f3}
route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
try:
Fiorella Quino
Task # 487: Operation View: radar_play...
r90 r = requests.post(route, post_data, timeout=0.5)
Fiorella Quino
Task #95: Modulo CGS ...
r59 except:
self.message = "Could not write CGS parameters"
return None
text = r.text
text = text.split(',')
if len(text)>1:
title = text[0]
status = text[1]
if title == "okay":
self.message = status
return 3
else:
self.message = title + ", " + status
return 1
return 1
Juan C. Espinoza
Updating base models and views ...
r6 class Meta:
db_table = 'cgs_configurations'