|
@@
-1,162
+1,172
|
|
1
|
from django.shortcuts import redirect, render, get_object_or_404
|
|
1
|
from django.shortcuts import redirect, render, get_object_or_404
|
|
2
|
from django.contrib import messages
|
|
2
|
from django.contrib import messages
|
|
3
|
|
|
3
|
|
|
4
|
from apps.main.models import Experiment, Configuration
|
|
4
|
from apps.main.models import Experiment, Configuration
|
|
5
|
from .models import CGSConfiguration
|
|
5
|
from .models import CGSConfiguration
|
|
6
|
|
|
6
|
|
|
7
|
from .forms import CGSConfigurationForm
|
|
7
|
from .forms import CGSConfigurationForm
|
|
8
|
from apps.main.views import sidebar
|
|
8
|
from apps.main.views import sidebar
|
|
9
|
|
|
9
|
|
|
10
|
import requests
|
|
10
|
import requests
|
|
11
|
# Create your views here.
|
|
11
|
# Create your views here.
|
|
12
|
|
|
12
|
|
|
13
|
def cgs_conf(request, id_conf):
|
|
13
|
def cgs_conf(request, id_conf):
|
|
14
|
|
|
14
|
|
|
15
|
conf = get_object_or_404(CGSConfiguration, pk=id_conf)
|
|
15
|
conf = get_object_or_404(CGSConfiguration, pk=id_conf)
|
|
16
|
|
|
16
|
|
|
17
|
ip=conf.device.ip_address
|
|
17
|
ip=conf.device.ip_address
|
|
18
|
port=conf.device.port_address
|
|
18
|
port=conf.device.port_address
|
|
19
|
|
|
19
|
|
|
20
|
kwargs = {}
|
|
20
|
kwargs = {}
|
|
21
|
kwargs['dev_conf'] = conf
|
|
21
|
kwargs['dev_conf'] = conf
|
|
22
|
kwargs['dev_conf_keys'] = ['experiment', 'device',
|
|
22
|
kwargs['dev_conf_keys'] = ['experiment', 'device',
|
|
23
|
'freq0', 'freq1',
|
|
23
|
'freq0', 'freq1',
|
|
24
|
'freq2', 'freq3']
|
|
24
|
'freq2', 'freq3']
|
|
25
|
|
|
25
|
|
|
26
|
kwargs['title'] = 'CGS Configuration'
|
|
26
|
kwargs['title'] = 'CGS Configuration'
|
|
27
|
kwargs['suptitle'] = 'Details'
|
|
27
|
kwargs['suptitle'] = 'Details'
|
|
28
|
|
|
28
|
|
|
29
|
kwargs['button'] = 'Edit Configuration'
|
|
29
|
kwargs['button'] = 'Edit Configuration'
|
|
30
|
|
|
30
|
|
|
31
|
###### SIDEBAR ######
|
|
31
|
###### SIDEBAR ######
|
|
32
|
kwargs.update(sidebar(conf))
|
|
32
|
kwargs.update(sidebar(conf))
|
|
33
|
|
|
33
|
|
|
34
|
return render(request, 'cgs_conf.html', kwargs)
|
|
34
|
return render(request, 'cgs_conf.html', kwargs)
|
|
35
|
|
|
35
|
|
|
36
|
def cgs_conf_edit(request, id_conf):
|
|
36
|
def cgs_conf_edit(request, id_conf):
|
|
37
|
|
|
37
|
|
|
38
|
conf = get_object_or_404(CGSConfiguration, pk=id_conf)
|
|
38
|
conf = get_object_or_404(CGSConfiguration, pk=id_conf)
|
|
39
|
|
|
39
|
|
|
40
|
if request.method=='GET':
|
|
40
|
if request.method=='GET':
|
|
41
|
form = CGSConfigurationForm(instance=conf)
|
|
41
|
form = CGSConfigurationForm(instance=conf)
|
|
42
|
|
|
42
|
|
|
43
|
if request.method=='POST':
|
|
43
|
if request.method=='POST':
|
|
44
|
form = CGSConfigurationForm(request.POST, instance=conf)
|
|
44
|
form = CGSConfigurationForm(request.POST, instance=conf)
|
|
45
|
|
|
45
|
|
|
46
|
if form.is_valid():
|
|
46
|
if form.is_valid():
|
|
47
|
conf = form.save(commit=False)
|
|
47
|
conf = form.save(commit=False)
|
|
48
|
|
|
48
|
|
|
49
|
if conf.verify_frequencies():
|
|
49
|
if conf.verify_frequencies():
|
|
50
|
|
|
50
|
|
|
51
|
conf.save()
|
|
51
|
conf.save()
|
|
52
|
return redirect('url_cgs_conf', id_conf=conf.id)
|
|
52
|
return redirect('url_cgs_conf', id_conf=conf.id)
|
|
53
|
|
|
53
|
|
|
54
|
##ERRORS
|
|
54
|
##ERRORS
|
|
55
|
|
|
55
|
|
|
56
|
kwargs = {}
|
|
56
|
kwargs = {}
|
|
57
|
kwargs['id_dev'] = conf.id
|
|
57
|
kwargs['id_dev'] = conf.id
|
|
58
|
kwargs['form'] = form
|
|
58
|
kwargs['form'] = form
|
|
59
|
kwargs['title'] = 'Device Configuration'
|
|
59
|
kwargs['title'] = 'Device Configuration'
|
|
60
|
kwargs['suptitle'] = 'Edit'
|
|
60
|
kwargs['suptitle'] = 'Edit'
|
|
61
|
kwargs['button'] = 'Save'
|
|
61
|
kwargs['button'] = 'Save'
|
|
62
|
|
|
62
|
|
|
63
|
###### SIDEBAR ######
|
|
63
|
###### SIDEBAR ######
|
|
64
|
kwargs.update(sidebar(conf))
|
|
64
|
kwargs.update(sidebar(conf))
|
|
65
|
|
|
65
|
|
|
66
|
return render(request, 'cgs_conf_edit.html', kwargs)
|
|
66
|
return render(request, 'cgs_conf_edit.html', kwargs)
|
|
67
|
|
|
67
|
|
|
68
|
def cgs_conf_write(request, id_conf):
|
|
68
|
def cgs_conf_write(request, id_conf):
|
|
69
|
|
|
69
|
|
|
70
|
conf = get_object_or_404(CGSConfiguration, pk=id_conf)
|
|
70
|
conf = get_object_or_404(CGSConfiguration, pk=id_conf)
|
|
71
|
ip=conf.device.ip_address
|
|
71
|
ip=conf.device.ip_address
|
|
72
|
port=conf.device.port_address
|
|
72
|
port=conf.device.port_address
|
|
73
|
|
|
73
|
|
|
74
|
#Frequencies from form
|
|
74
|
#Frequencies from form
|
|
75
|
f0 = conf.freq0
|
|
75
|
f0 = conf.freq0
|
|
76
|
f1 = conf.freq1
|
|
76
|
f1 = conf.freq1
|
|
77
|
f2 = conf.freq2
|
|
77
|
f2 = conf.freq2
|
|
78
|
f3 = conf.freq3
|
|
78
|
f3 = conf.freq3
|
|
79
|
headers = {'User-Agent': 'Mozilla/5.0'}
|
|
79
|
headers = {'User-Agent': 'Mozilla/5.0'}
|
|
80
|
post_data = {"f0":f0, "f1":f1, "f2":f2, "f3":f3}
|
|
80
|
post_data = {"f0":f0, "f1":f1, "f2":f2, "f3":f3}
|
|
81
|
route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
|
|
81
|
route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
|
|
82
|
session = requests.session()
|
|
82
|
session = requests.session()
|
|
83
|
|
|
83
|
|
|
84
|
r = session.post(route, data= post_data,headers= headers)
|
|
84
|
r = session.post(route, data= post_data,headers= headers)
|
|
85
|
print r.url
|
|
85
|
print r.url
|
|
86
|
print r.text
|
|
86
|
print r.text
|
|
87
|
|
|
87
|
|
|
88
|
|
|
88
|
|
|
89
|
|
|
89
|
|
|
90
|
|
|
90
|
|
|
91
|
return redirect('url_cgs_conf', id_conf=conf.id)
|
|
91
|
return redirect('url_cgs_conf', id_conf=conf.id)
|
|
92
|
|
|
92
|
|
|
93
|
def cgs_conf_read(request, id_conf):
|
|
93
|
def cgs_conf_read(request, id_conf):
|
|
94
|
|
|
94
|
|
|
95
|
conf = get_object_or_404(CGSConfiguration, pk=id_conf)
|
|
95
|
conf = get_object_or_404(CGSConfiguration, pk=id_conf)
|
|
96
|
ip=conf.device.ip_address
|
|
96
|
ip=conf.device.ip_address
|
|
97
|
port=conf.device.port_address
|
|
97
|
port=conf.device.port_address
|
|
98
|
|
|
98
|
|
|
99
|
if request.method=='POST':
|
|
99
|
if request.method=='POST':
|
|
100
|
form = CGSConfigurationForm(request.POST, instance=conf)
|
|
100
|
form = CGSConfigurationForm(request.POST, instance=conf)
|
|
101
|
|
|
101
|
|
|
102
|
if form.is_valid():
|
|
102
|
if form.is_valid():
|
|
103
|
cgs_model = form.save(commit=False)
|
|
103
|
cgs_model = form.save(commit=False)
|
|
104
|
|
|
104
|
|
|
105
|
if cgs_model.verify_frequencies():
|
|
105
|
if cgs_model.verify_frequencies():
|
|
106
|
|
|
106
|
|
|
107
|
cgs_model.save()
|
|
107
|
cgs_model.save()
|
|
108
|
return redirect('url_cgs_conf', id_conf=conf.id)
|
|
108
|
return redirect('url_cgs_conf', id_conf=conf.id)
|
|
109
|
|
|
109
|
|
|
110
|
messages.error(request, "Parameters could not be saved. Invalid parameters")
|
|
110
|
messages.error(request, "Parameters could not be saved. Invalid parameters")
|
|
111
|
|
|
111
|
|
|
112
|
data = {}
|
|
112
|
data = {}
|
|
113
|
|
|
113
|
|
|
114
|
|
|
114
|
|
|
115
|
if request.method=='GET':
|
|
115
|
if request.method=='GET':
|
|
116
|
#r: response = icon, status
|
|
116
|
#r: response = icon, status
|
|
117
|
route = "http://" + str(ip) + ":" + str(port) + "/status/ad9548"
|
|
117
|
route = "http://" + str(ip) + ":" + str(port) + "/status/ad9548"
|
|
118
|
r = requests.get(route)
|
|
118
|
r = requests.get(route)
|
|
119
|
response = str(r.text)
|
|
119
|
response = str(r.text)
|
|
120
|
response = response.split(";")
|
|
120
|
response = response.split(";")
|
|
121
|
icon = response[0]
|
|
121
|
icon = response[0]
|
|
122
|
status = response[-1]
|
|
122
|
status = response[-1]
|
|
123
|
#"icon" could be: "alert" or "okay"
|
|
123
|
#"icon" could be: "alert" or "okay"
|
|
124
|
if "okay" in icon:
|
|
124
|
if "okay" in icon:
|
|
125
|
messages.success(request, status)
|
|
125
|
messages.success(request, status)
|
|
126
|
else:
|
|
126
|
else:
|
|
127
|
messages.error(request, status)
|
|
127
|
messages.error(request, status)
|
|
128
|
#Get Frequencies
|
|
128
|
#Get Frequencies
|
|
129
|
frequencies = requests.get('http://10.10.10.175:8080/frequencies/')
|
|
129
|
route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
|
|
|
|
|
130
|
#frequencies = requests.get('http://10.10.10.175:8080/frequencies/')
|
|
|
|
|
131
|
frequencies = requests.get(route)
|
|
130
|
frequencies = frequencies.json()
|
|
132
|
frequencies = frequencies.json()
|
|
131
|
frequencies = frequencies.get("Frecuencias")
|
|
133
|
frequencies = frequencies.get("Frecuencias")
|
|
132
|
f0 = frequencies.get("f0")
|
|
134
|
f0 = frequencies.get("f0")
|
|
133
|
f1 = frequencies.get("f1")
|
|
135
|
f1 = frequencies.get("f1")
|
|
134
|
f2 = frequencies.get("f2")
|
|
136
|
f2 = frequencies.get("f2")
|
|
135
|
f3 = frequencies.get("f3")
|
|
137
|
f3 = frequencies.get("f3")
|
|
136
|
print f0,f1,f2,f3
|
|
138
|
print f0,f1,f2,f3
|
|
137
|
|
|
139
|
|
|
138
|
if not response:
|
|
140
|
if not response:
|
|
139
|
messages.error(request, "Could not read parameters from Device")
|
|
141
|
messages.error(request, "Could not read parameters from Device")
|
|
140
|
return redirect('url_cgs_conf', id_conf=conf.id)
|
|
142
|
return redirect('url_cgs_conf', id_conf=conf.id)
|
|
141
|
|
|
143
|
|
|
142
|
data = {'experiment' : conf.experiment.id,
|
|
144
|
data = {'experiment' : conf.experiment.id,
|
|
143
|
'device' : conf.device.id,
|
|
145
|
'device' : conf.device.id,
|
|
144
|
'freq0' : f0,
|
|
146
|
'freq0' : f0,
|
|
145
|
'freq1' : f1,
|
|
147
|
'freq1' : f1,
|
|
146
|
'freq2' : f2,
|
|
148
|
'freq2' : f2,
|
|
147
|
'freq3' : f3,
|
|
149
|
'freq3' : f3,
|
|
148
|
}
|
|
150
|
}
|
|
149
|
|
|
151
|
|
|
150
|
form = CGSConfigurationForm(initial = data)
|
|
152
|
form = CGSConfigurationForm(initial = data)
|
|
151
|
|
|
153
|
|
|
152
|
kwargs = {}
|
|
154
|
kwargs = {}
|
|
153
|
kwargs['id_dev'] = conf.id
|
|
155
|
kwargs['id_dev'] = conf.id
|
|
154
|
kwargs['form'] = form
|
|
156
|
kwargs['form'] = form
|
|
155
|
kwargs['title'] = 'Device Configuration'
|
|
157
|
kwargs['title'] = 'Device Configuration'
|
|
156
|
kwargs['suptitle'] = 'Parameters read from device'
|
|
158
|
kwargs['suptitle'] = 'Parameters read from device'
|
|
157
|
kwargs['button'] = 'Save'
|
|
159
|
kwargs['button'] = 'Save'
|
|
158
|
|
|
160
|
|
|
159
|
###### SIDEBAR ######
|
|
161
|
###### SIDEBAR ######
|
|
160
|
kwargs.update(sidebar(conf))
|
|
162
|
kwargs.update(sidebar(conf))
|
|
161
|
|
|
163
|
|
|
162
|
return render(request, 'cgs_conf_edit.html', kwargs)
No newline at end of file
|
|
164
|
return render(request, 'cgs_conf_edit.html', kwargs)
|
|
|
|
|
165
|
|
|
|
|
|
166
|
#def cgs_conf_export(request, id_conf):
|
|
|
|
|
167
|
|
|
|
|
|
168
|
# conf = get_object_or_404(CGSConfiguration, pk=id_conf)
|
|
|
|
|
169
|
# ip=conf.device.ip_address
|
|
|
|
|
170
|
# port=conf.device.port_address
|
|
|
|
|
171
|
|
|
|
|
|
172
|
# return render(request, 'cgs_conf_export.html', kwargs)
No newline at end of file
|