##// END OF EJS Templates
Task #714: Modulo Web ABS...
Task #714: Modulo Web ABS git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@205 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r172:a641bec15a9b
r182:7e17a44bea6b
Show More
models.py
179 lines | 4.7 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
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172 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):
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
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)
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #94: edit, save, read function...
r31 def verify_frequencies(self):
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #94: edit, save, read function...
r31 return True
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: se agrego la funcion "import" para archivos .json ...
r42 def update_from_file(self, fp):
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: se agrego la funcion "import" para archivos .json ...
r42 kwargs = read_json_file(fp)
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: se agrego la funcion "import" para archivos .json ...
r42 if not kwargs:
return False
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: se agrego la funcion "import" para archivos .json ...
r42 self.freq0 = kwargs['freq0']
self.freq1 = kwargs['freq1']
self.freq2 = kwargs['freq2']
self.freq3 = kwargs['freq3']
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: se agrego la funcion "import" para archivos .json ...
r42 return True
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS "parms_to_dict()"...
r58 def parms_to_dict(self):
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS "parms_to_dict()"...
r58 parameters = {}
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Import Experiment Function...
r108 parameters['device_id'] = self.device.id
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS "parms_to_dict()"...
r58 if self.freq0 == None or self.freq0 == '':
parameters['freq0'] = 0
else:
parameters['freq0'] = self.freq0
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS "parms_to_dict()"...
r58 if self.freq1 == None or self.freq1 == '':
parameters['freq1'] = 0
else:
parameters['freq1'] = self.freq1
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS "parms_to_dict()"...
r58 if self.freq2 == None or self.freq2 == '':
parameters['freq2'] = 0
else:
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172 parameters['freq2'] = self.freq2
Fiorella Quino
Task #95: Modulo CGS "parms_to_dict()"...
r58 if self.freq3 == None or self.freq3 == '':
parameters['freq3'] = 0
else:
parameters['freq3'] = self.freq3
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS "parms_to_dict()"...
r58 return parameters
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Import Experiment Function...
r108 def dict_to_parms(self, parameters):
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Import Experiment Function...
r108 self.freq0 = parameters['freq0']
self.freq1 = parameters['freq1']
self.freq2 = parameters['freq2']
self.freq3 = parameters['freq3']
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 def status_device(self):
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 import requests
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 ip=self.device.ip_address
port=self.device.port_address
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 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
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 response = str(r.text)
response = response.split(";")
icon = response[0]
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172 status = response[-1]
#print(icon, status)
Fiorella Quino
Task #95: Modulo CGS ...
r59 #"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
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 self.message = status
self.device.save()
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 return self.device.status
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 def read_device(self):
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 import requests
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 ip=self.device.ip_address
port=self.device.port_address
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
try:
Fiorella Quino
Task # 487: Operation View: radar_play...
r90 frequencies = requests.get(route,timeout=0.5)
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 except:
self.message = "Could not read CGS parameters from this device"
return None
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 frequencies = frequencies.json()
frequencies = frequencies.get("Frecuencias")
f0 = frequencies.get("f0")
f1 = frequencies.get("f1")
f2 = frequencies.get("f2")
f3 = frequencies.get("f3")
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 parms = {'freq0': f0,
'freq1': f1,
'freq2': f2,
'freq3': f3}
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 self.message = ""
return parms
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 def write_device(self):
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 import requests
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 ip=self.device.ip_address
port=self.device.port_address
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 #---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/"
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
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
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 text = r.text
text = text.split(',')
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 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
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59 return 1
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
Task #95: Modulo CGS ...
r59
Juan C. Espinoza
Updating base models and views ...
r6 class Meta:
db_table = 'cgs_configurations'