##// END OF EJS Templates
Fix prints for python 3...
Fix prints for python 3 git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@197 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r174:fe01c8eee39a
r174:fe01c8eee39a
Show More
models.py
940 lines | 26.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
Task #717: Tablas de ABSConfiguration y ABSBeam, sus campos y metodos....
r163 from django.core.urlresolvers import reverse
Juan C. Espinoza
Proyecto base en Django (refs #259) ...
r0 # Create your models here.
Juan C. Espinoza
Updating base models and views ...
r6
Fiorella Quino
Task #717: Tablas de ABSConfiguration y ABSBeam, sus campos y metodos....
r163 import ast
import socket
import json
import requests
import struct
import sys, time
import multiprocessing
antenna_default = json.dumps({
"antenna_up": [[0.0,0.0,0.0,0.0,0.5,0.5,0.5,0.5],
[0.0,0.0,0.0,0.0,0.5,0.5,0.5,0.5],
[0.0,0.0,0.0,0.0,0.5,0.5,0.5,0.5],
[0.0,0.0,0.0,0.0,0.5,0.5,0.5,0.5],
[0.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0],
[0.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0],
[0.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0],
[0.5,0.5,0.5,0.5,1.0,1.0,1.0,1.0]
]
,
"antenna_down": [[0.0,0.0,0.0,0.0,0.5,0.5,0.5,0.5],
[0.0,0.0,0.0,0.0,0.5,0.5,0.5,0.5],
[0.0,0.0,0.0,0.0,0.5,0.5,0.5,0.5],
[0.0,0.0,0.0,0.0,0.5,0.5,0.5,0.5],
[0.5,0.5,0.5,0.5,3.0,3.0,3.0,3.0],
[0.5,0.5,0.5,0.5,3.0,3.0,3.0,3.0],
[0.5,0.5,0.5,0.5,3.0,3.0,3.0,3.0],
[0.5,0.5,0.5,0.5,3.0,3.0,3.0,3.0]],
})
tx_default = json.dumps({
"up": [[1,1,1,1,0,0,0,0],
[1,1,1,1,0,0,0,0],
[1,1,1,1,0,0,0,0],
[1,1,1,1,0,0,0,0],
[0,0,0,0,1,1,1,1],
[0,0,0,0,1,1,1,1],
[0,0,0,0,1,1,1,1],
[0,0,0,0,1,1,1,1]],
"down": [[1,1,1,1,0,0,0,0],
[1,1,1,1,0,0,0,0],
[1,1,1,1,0,0,0,0],
[1,1,1,1,0,0,0,0],
[0,0,0,0,1,1,1,1],
[0,0,0,0,1,1,1,1],
[0,0,0,0,1,1,1,1],
[0,0,0,0,1,1,1,1]],
})
rx_default = json.dumps({
"up": [[1,1,1,1,0,0,0,0],
[1,1,1,1,0,0,0,0],
[1,1,1,1,0,0,0,0],
[1,1,1,1,0,0,0,0],
[0,0,0,0,1,1,1,1],
[0,0,0,0,1,1,1,1],
[0,0,0,0,1,1,1,1],
[0,0,0,0,1,1,1,1]],
"down": [[1,1,1,1,0,0,0,0],
[1,1,1,1,0,0,0,0],
[1,1,1,1,0,0,0,0],
[1,1,1,1,0,0,0,0],
[0,0,0,0,1,1,1,1],
[0,0,0,0,1,1,1,1],
[0,0,0,0,1,1,1,1],
[0,0,0,0,1,1,1,1]],
})
conf_default = {}
status_default = {}
for i in range(1,65):
conf_default[str(i)] = ""
status_default[str(i)] = 0
ues_default = json.dumps({
"up": [0.533333,0.00000,1.06667,0.00000],
"down": [0.533333,0.00000,1.06667,0.00000]
})
onlyrx_default = json.dumps({
"up": False,
"down": False
})
def up_convertion(cadena):
valores = []
for c in cadena:
if c == 1.0: valores=valores+['000']
if c == 2.0: valores=valores+['001']
if c == 3.0: valores=valores+['010']
if c == 0.0: valores=valores+['011']
if c == 0.5: valores=valores+['100']
if c == 1.5: valores=valores+['101']
if c == 2.5: valores=valores+['110']
if c == 3.5: valores=valores+['111']
return valores
def up_conv_bits(value):
if value == 1.0: bits="000"
if value == 2.0: bits="001"
if value == 3.0: bits="010"
if value == 0.0: bits="011"
if value == 0.5: bits="100"
if value == 1.5: bits="101"
if value == 2.5: bits="110"
if value == 3.5: bits="111"
return bits
def down_convertion(cadena):
valores = []
for c in cadena:
if c == 1.0: valores=valores+['000']
if c == 2.0: valores=valores+['001']
if c == 3.0: valores=valores+['010']
if c == 0.0: valores=valores+['011']
if c == 0.5: valores=valores+['100']
if c == 1.5: valores=valores+['101']
if c == 2.5: valores=valores+['110']
if c == 3.5: valores=valores+['111']
return valores
def down_conv_bits(value):
if value == 1.0: bits="000"
if value == 2.0: bits="001"
if value == 3.0: bits="010"
if value == 0.0: bits="011"
if value == 0.5: bits="100"
if value == 1.5: bits="101"
if value == 2.5: bits="110"
if value == 3.5: bits="111"
return bits
def ip2position(module_number):
j=0
i=0
for x in range(0,module_number-1):
j=j+1
if j==8:
i=i+1
j=0
pos = [i,j]
return pos
def change_beam_for_multiprocessing(module):
for i in range (1,50):
beam_pos = 0
module_address = ('192.168.1.'+str(module), 5500)
header = 'JROABSCeCnModCnMod0100000'
numbers = len(str(beam_pos))
function = 'CHGB'
message_tx = header+str(numbers)+function+str(beam_pos)+'0'
# Create the datagram socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(module_address)
sock.send(message_tx)
#t = sock.recv(1024)
sock.close()
sock = None
time.sleep(0.2)
beam_pos = 1
numbers = len(str(beam_pos))
message_tx = header+str(numbers)+function+str(beam_pos)+'0'
# Create the datagram socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(module_address)
sock.send(message_tx)
sock.close()
sock = None
time.sleep(0.2)
Juan C. Espinoza
Updating base models and views ...
r6 class ABSConfiguration(Configuration):
Fiorella Quino
Task #717: Tablas de ABSConfiguration y ABSBeam, sus campos y metodos....
r163 beams = models.CharField(verbose_name='Beams', max_length=20000, default="{}")
module_status = models.CharField(verbose_name='Module Status', max_length=10000, default=json.dumps(status_default))
Juan C. Espinoza
Updating base models and views ...
r6
class Meta:
db_table = 'abs_configurations'
Fiorella Quino
Task #717: Tablas de ABSConfiguration y ABSBeam, sus campos y metodos....
r163
def get_absolute_url_plot(self):
return reverse('url_plot_abs_patterns', args=[str(self.id)])
def parms_to_dict(self):
parameters = {}
parameters['device_id'] = self.device.id
parameters['name'] = self.name
parameters['beams'] = {}
beams = ast.literal_eval(self.beams)
b=1
for beam in beams:
absbeam = ABSBeam.objects.get(pk=beams[beam])
parameters['beams']['beam'+str(b)] = absbeam.parms_to_dict()
b+=1
return parameters
def module_conf(self, module_num, beams):
"""
This function creates beam configurations for one abs module.
"""
ip_address = self.device.ip_address
ip_address = ip_address.split('.')
module_seq = (ip_address[0],ip_address[1],ip_address[2])
dot = '.'
module_ip = dot.join(module_seq)+'.'+str(module_num)
module_port = self.device.port_address
write_route = 'http://'+module_ip+':'+str(module_port)+'/configure'
header = 'JROABSCeCnModCnMod01000108SNDFexperimento1.ab1'
module = 'ABS_'+str(module_num)
bs = {}
i=1
#beams = {1: '001000', 2: '010001', 3: '010010', 4: '000011', 5: '101100', 6: '101101',
# 7: '110110', 8: '111111', 9: '000000', 10: '001001', 11: '010010', 12: '011011'}
for beam in beams:
bs[i] = beam.module_6bits(module_num)
i=i+1
beams = bs
parameters = {}
parameters['header'] = header
parameters['module'] = module
parameters['beams'] = json.dumps(beams)
answer = ''
try:
r_write = requests.post(write_route, parameters, timeout=0.5)
answer = r_write.json()
self.message = answer['message']
except:
self.message = "Could not write ABS parameters"
return 0
return 1
def read_module(self, module):
"""
Read out-bits (up-down) of 1 abs module NOT for Configuration
"""
parameters = {}
ip_address = self.device.ip_address
ip_address = ip_address.split('.')
module_seq = (ip_address[0],ip_address[1],ip_address[2])
dot = '.'
module_ip = dot.join(module_seq)+'.'+str(module)
module_port = self.device.port_address
read_route = 'http://'+module_ip+':'+str(module_port)+'/read'
Juan C. Espinoza
Fix prints for python 3...
r174 print(read_route)
Fiorella Quino
Task #717: Tablas de ABSConfiguration y ABSBeam, sus campos y metodos....
r163
answer = ''
module_bits = ''
try:
r_write = requests.get(read_route, timeout=0.7)
answer = r_write.json()
message = answer['message']
module_bits = answer['allbits']
except:
message = "Could not read ABS parameters"
return 0
return module_bits
def write_device(self):
"""
This function sends the beams list to every abs module.
"""
beams_list = ast.literal_eval(self.beams)
beams = []
for bl in range(1,len(beams_list)+1):
b = ABSBeam.objects.get(pk=beams_list['beam'+str(bl)])
beams.append(b)
#---Write each abs module---
beams_status = ast.literal_eval(self.module_status)
for i in range(62,65):
try:
self.module_conf(i, beams)
beams_status[str(i)] = 1
self.module_status = json.dumps(beams_status)
self.save()
#self.module_conf(63,beams)
#beams_status[str(63)] = 1
#self.module_status = json.dumps(beams_status)
except:
beams_status[str(i)] = 0
self.module_status = json.dumps(beams_status)
self.save()
#return 0
#self.device.status = 1
self.save()
return 1
def write_module(self, module):
"""
Send configuration to one abs module
"""
parameters = {}
ip_address = self.abs_conf.device.ip_address
ip_address = ip_address.split('.')
module_seq = (ip_address[0],ip_address[1],ip_address[2])
dot = '.'
module_ip = dot.join(module_seq)+'.'+str(module)
module_port = self.abs_conf.device.port_address
write_route = 'http://'+module_ip+':'+str(module_port)+'/configure'
#print write_route
header = 'JROABSCeCnModCnMod01000108SNDFexperimento1.ab1'
module = 'ABS_'+str(module)
beams = {1: '001000', 2: '010001', 3: '010010', 4: '000011', 5: '101100', 6: '101101',
7: '110110', 8: '111111', 9: '000000', 10: '001001', 11: '010010', 12: '011011'}
parameters['header'] = header
parameters['module'] = module
parameters['beams'] = json.dumps(beams)
answer = ''
try:
r_write = requests.post(write_route, parameters, timeout=0.5)
answer = r_write.json()
self.message = answer['message']
except:
self.message = "Could not write ABS parameters"
return 0
#self.device.status = int(answer['status'])
return 1
def beam_selector(self, module, beam_pos):
"""
This function selects the beam number for one absmodule.
"""
if beam_pos > 0:
beam_pos = beam_pos - 1
else:
beam_pos = 0
#El indice del apunte debe ser menor que el numero total de apuntes
#El servidor tcp en el embebido comienza a contar desde 0
beams_list = ast.literal_eval(self.beams)
if len(beams_list) < beam_pos:
return 0
flag = 1
if beam_pos>9:
flag = 2
module_address = ('192.168.1.'+str(module), 5500)
header = 'JROABSCeCnModCnMod0100000'
numbers = len(str(beam_pos))
function = 'CHGB'
message_tx = header+str(numbers)+function+str(beam_pos)+'0'
# Create the datagram socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#sock.connect(module_address)
try:
sock.connect(module_address)
sock.send(message_tx)
sock.close()
Juan C. Espinoza
Fix prints for python 3...
r174 print("Writing abs module:"+module_address[0]+"...")
Fiorella Quino
Task #717: Tablas de ABSConfiguration y ABSBeam, sus campos y metodos....
r163 except:
sock = None
Juan C. Espinoza
Fix prints for python 3...
r174 print("Problem writing abs module:"+module_address[0])
Fiorella Quino
Task #717: Tablas de ABSConfiguration y ABSBeam, sus campos y metodos....
r163 return 0
return 1
def change_beam(self, beam_pos):
"""
This function selects the beam number for all absmodules.
"""
for i in range(1,65):
try:
self.beam_selector(i,beam_pos)
except:
Juan C. Espinoza
Fix prints for python 3...
r174 print("Problem with module: 192.168.1."+str(i))
Fiorella Quino
Task #717: Tablas de ABSConfiguration y ABSBeam, sus campos y metodos....
r163 self.message = "Problem with module: 192.168.1."+str(i)
#return 0
return 1
def send_beam_num(self, beam_pos):
"""
This function connects to a multicast group and sends the beam number
to all abs modules.
"""
if beam_pos > 0:
beam_pos = beam_pos - 1
else:
beam_pos = 0
#El indice del apunte debe ser menor que el numero total de apuntes
#El servidor tcp en el embebido comienza a contar desde 0
beams_list = ast.literal_eval(self.beams)
if len(beams_list) < beam_pos:
return 0
flag = 1
if beam_pos>9:
flag = 2
header = 'JROABSCeCnModCnMod0100000'
flag = str(flag)
function = 'CHGB'
message_tx = header+flag+function+str(beam_pos)+'0'
multicast_group = '224.3.29.71'
server_address = ('',10000)
# Create the socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# Bind to the server address
sock.bind(server_address)
# Telling the OS add the socket to the multicast on all interfaces
group = socket.inet_aton(multicast_group)
mreq = struct.pack('4sL', group, socket.INADDR_ANY)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
#print 'sending acknowledgement to all: \n' + message_tx
sock.sendto(message_tx, (multicast_group, 10000))
sock.close()
sock = None
return 1
def test1(self):
t1 = time.time()
t2 = 0
while (t2-t1)<300:
t2 = time.time()
self.send_beam_num(1)
time.sleep(0.04)
self.send_beam_num(2)
time.sleep(0.04)
return
def change_procs_test1(self, module):
for i in range (1,300):
beam_pos = 0
module_address = ('192.168.1.'+str(module), 5500)
header = 'JROABSCeCnModCnMod0100000'
numbers = len(str(beam_pos))
function = 'CHGB'
message_tx = header+str(numbers)+function+str(beam_pos)+'0'
# Create the datagram socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(module_address)
sock.send(message_tx)
#t = sock.recv(1024)
sock.close()
sock = None
time.sleep(0.2)
beam_pos = 1
numbers = len(str(beam_pos))
message_tx = header+str(numbers)+function+str(beam_pos)+'0'
# Create the datagram socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(module_address)
sock.send(message_tx)
sock.close()
sock = None
time.sleep(0.2)
def multi_procs_test1(self):
#if __name__ == "__main__":
size = 10000000 # Number of random numbers to add
procs = 65 # (Number-1) of processes to create
# Create a list of jobs and then iterate through
# the number of processes appending each process to
# the job list
jobs = []
for i in range(62, procs):
process = multiprocessing.Process(target=self.change_procs_test1,args=(i,))
jobs.append(process)
#print jobs
# Start the processes (i.e. calculate the random number lists)
for j in jobs:
#time.sleep(0.4)
#print j
j.start()
# Ensure all of the processes have finished
for j in jobs:
j.join()
Juan C. Espinoza
Fix prints for python 3...
r174 print("List processing complete.")
Fiorella Quino
Task #717: Tablas de ABSConfiguration y ABSBeam, sus campos y metodos....
r163 return 1
def status_device(self):
return 1
class ABSBeam(models.Model):
name = models.CharField(max_length=60, default='Beam')
antenna = models.CharField(verbose_name='Antenna', max_length=1000, default=antenna_default)
abs_conf = models.ForeignKey(ABSConfiguration, null=True, verbose_name='ABS Configuration')
tx = models.CharField(verbose_name='Tx', max_length=1000, default=tx_default)
rx = models.CharField(verbose_name='Rx', max_length=1000, default=rx_default)
s_time = models.TimeField(verbose_name='Star Time', default='00:00:00')
e_time = models.TimeField(verbose_name='End Time', default='23:59:59')
modules_conf = models.CharField(verbose_name='Modules', max_length=2000, default=json.dumps(conf_default))
ues = models.CharField(verbose_name='Ues', max_length=100, default=ues_default)
only_rx = models.CharField(verbose_name='Only RX', max_length=40, default=onlyrx_default)
class Meta:
db_table = 'abs_beams'
def __unicode__(self):
return u'%s' % (self.name)
def parms_to_dict(self):
#Update data
self.modules_6bits()
parameters = {}
parameters['name'] = self.name
parameters['antenna'] = ast.literal_eval(self.antenna)
parameters['abs_conf'] = self.abs_conf.name
parameters['tx'] = ast.literal_eval(self.tx)
parameters['rx'] = ast.literal_eval(self.rx)
parameters['s_time'] = self.s_time.strftime("%H:%M:%S")
parameters['e_time'] = self.e_time.strftime("%H:%M:%S")
parameters['configuration'] = ast.literal_eval(self.modules_conf)
parameters['ues'] = ast.literal_eval(self.ues)
parameters['only_rx'] = json.loads(self.only_rx)
return parameters
def dict_to_parms(self, parameters):
self.name = parameters['name']
self.antenna = json.dumps(parameters['antenna'])
#self.abs_conf = parameters['abs_conf']
self.tx = json.dumps(parameters['tx'])
self.rx = json.dumps(parameters['rx'])
#parameters['s_time']
#parameters['e_time']
self.ues = json.dumps(parameters['ues'])
self.only_rx = json.dumps(parameters['only_rx'])
self.modules_6bits()
self.save()
return parameters
Fiorella Quino
Task #714: Modulo web del ABS ...
r166
Fiorella Quino
Task #717: Tablas de ABSConfiguration y ABSBeam, sus campos y metodos....
r163
def change_beam(self, beam_pos=0):
module_63 = ('192.168.1.63', 5500)
header = 'JROABSCeCnModCnMod0100000'
numbers = len(str(beam_pos))
function = 'CHGB'
message_tx = header+str(numbers)+function+str(beam_pos)+'0'
# Create the datagram socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(module_63)
sock.send(message_tx)
sock.close()
return message_tx
def change_module_beam(self, module=61,beam_pos=0):
module_address = ('192.168.1.'+str(module), 5500)
header = 'JROABSCeCnModCnMod0100000'
numbers = len(str(beam_pos))
function = 'CHGB'
message_tx = header+str(numbers)+function+str(beam_pos)+'0'
# Create the datagram socket
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(module_address)
sock.send(message_tx)
sock.close()
except:
return 0
return message_tx
def write_device(self):
parameters = {}
module_ip = '192.168.1.63'
write_route = 'http://192.168.1.63:8080/configure'
header = 'JROABSCeCnModCnMod01000108SNDFexperimento1.ab1'
module = 'ABS_63'
beams = {1: '001000', 2: '010001', 3: '010010', 4: '000011', 5: '101100', 6: '101101',
7: '110110', 8: '111111', 9: '000000', 10: '001001', 11: '010010', 12: '011011'}
parameters['header'] = header
parameters['module'] = module
parameters['beams'] = json.dumps(beams)
answer = ''
try:
r_write = requests.post(write_route, parameters, timeout=0.5)
answer = r_write.json()
self.message = answer['message']
except:
self.message = "Could not write ABS parameters"
return 0
#self.device.status = int(answer['status'])
return 1
def module_6bits(self, module):
"""
This function reads antenna pattern and choose 6bits (upbits-downbits) for one abs module
"""
if module > 64:
beam_bits = ""
return beam_bits
data = ast.literal_eval(self.antenna)
up_data = data['antenna_up']
down_data = data['antenna_down']
pos = ip2position(module)
up_value = up_data[pos[0]][pos[1]]
down_value = down_data[pos[0]][pos[1]]
up_bits = up_conv_bits(up_value)
down_bits = down_conv_bits(down_value)
beam_bits = up_bits+down_bits
return beam_bits
def modules_6bits(self):
"""
This function returns 6bits from every abs module (1-64) in a dict
"""
modules_configuration = ast.literal_eval(self.modules_conf)
for i in range(1,65):
modules_configuration[str(i)] = self.module_6bits(i)
self.modules_conf = json.dumps(modules_configuration)
self.save()
return self.modules_conf
def add_beam2list(self):
"""
This function adds a beam to the beams list of ABS Configuration.
"""
beams = ast.literal_eval(self.abs_conf.beams)
if any(beams):
for beam in beams:
if beams[beam] == self.id:
return
i = len(beams)+1
beams['beam'+str(i)] = self.id
else:
beams['beam1'] = self.id
self.abs_conf.beams = json.dumps(beams)
self.abs_conf.save()
return
def remove_beamfromlist(self):
"""
This function removes current beam from the beams list of ABS Configuration.
"""
beams = ast.literal_eval(self.abs_conf.beams)
dict_position = ''
if any(beams):
for beam in beams:
if beams[beam] == self.id:
dict_position = beam
if dict_position != '':
beams.pop(str(dict_position),None)
else:
return
self.abs_conf.beams = json.dumps(beams)
self.abs_conf.save()
return
@property
def get_upvalues(self):
"""
This function reads antenna pattern and show the up-value of one abs module
"""
data = ast.literal_eval(self.antenna)
up_data = data['antenna_up']
up_values = []
for data in up_data:
for i in range(0,8):
up_values.append(data[i])
return up_values
@property
def antenna_upvalues(self):
"""
This function reads antenna pattern and show the up - values of one abs beam
in a particular order
"""
data = ast.literal_eval(self.antenna)
up_data = data['antenna_up']
return up_data
@property
def antenna_downvalues(self):
"""
This function reads antenna pattern and show the down - values of one abs beam
in a particular order
"""
data = ast.literal_eval(self.antenna)
down_data = data['antenna_down']
return down_data
@property
def get_downvalues(self):
"""
This function reads antenna pattern and show the down-value of one abs module
"""
data = ast.literal_eval(self.antenna)
down_data = data['antenna_down']
down_values = []
for data in down_data:
for i in range(0,8):
down_values.append(data[i])
return down_values
@property
def get_up_ues(self):
"""
This function shows the up-ues-value of one beam
"""
data = ast.literal_eval(self.ues)
up_ues = data['up']
return up_ues
@property
def get_down_ues(self):
"""
This function shows the down-ues-value of one beam
"""
data = ast.literal_eval(self.ues)
down_ues = data['down']
return down_ues
@property
def get_up_onlyrx(self):
"""
This function shows the up-onlyrx-value of one beam
"""
data = json.loads(self.only_rx)
up_onlyrx = data['up']
return up_onlyrx
@property
def get_down_onlyrx(self):
"""
This function shows the down-onlyrx-value of one beam
"""
data = json.loads(self.only_rx)
down_onlyrx = data['down']
return down_onlyrx
@property
def get_tx(self):
"""
This function shows the tx-values of one beam
"""
data = json.loads(self.tx)
return data
Fiorella Quino
Task #714: Modulo web del ABS ...
r166 @property
def get_uptx(self):
"""
This function shows the up-tx-values of one beam
"""
data = json.loads(self.tx)
up_data = data['up']
up_values = []
for data in up_data:
for i in range(0,8):
up_values.append(data[i])
return up_values
@property
def get_downtx(self):
"""
This function shows the down-tx-values of one beam
"""
data = json.loads(self.tx)
down_data = data['down']
down_values = []
for data in down_data:
for i in range(0,8):
down_values.append(data[i])
return down_values
Fiorella Quino
Task #717: Tablas de ABSConfiguration y ABSBeam, sus campos y metodos....
r163 @property
def get_rx(self):
"""
This function shows the rx-values of one beam
"""
data = json.loads(self.rx)
return data
Fiorella Quino
Task #714: Modulo web del ABS ...
r166
@property
def get_uprx(self):
"""
This function shows the up-rx-values of one beam
"""
data = json.loads(self.rx)
up_data = data['up']
up_values = []
for data in up_data:
for i in range(0,8):
up_values.append(data[i])
return up_values
@property
def get_downrx(self):
"""
This function shows the down-rx-values of one beam
"""
data = json.loads(self.rx)
down_data = data['down']
down_values = []
for data in down_data:
for i in range(0,8):
down_values.append(data[i])
return down_values