##// END OF EJS Templates
Taks #95: connected icon...
Fiorella Quino -
r37:5f7f432b464b
parent child
Show More
@@ -1,199 +1,207
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
21
22 if request.method=='GET':
22 if request.method=='GET':
23 #r: response = icon, status
23 #r: response = icon, status
24 route = "http://" + str(ip) + ":" + str(port) + "/status/ad9548"
24 route = "http://" + str(ip) + ":" + str(port) + "/status/ad9548"
25 r = requests.get(route)
25 r = requests.get(route)
26 response = str(r.text)
26 response = str(r.text)
27 response = response.split(";")
27 response = response.split(";")
28 icon = response[0]
28 icon = response[0]
29 status = response[-1]
29 status = response[-1]
30 #print r.text
30 #print r.text
31 #"icon" could be: "alert" or "okay"
31 #"icon" could be: "alert" or "okay"
32 if "okay" in icon or "alert" in icon:
32 # Si hay alerta pero esta conectado
33 if "alert" in icon:
34 if "Starting Up" in status: #No Esta conectado
35 kwargs['connected'] = False
36 else:
37 kwargs['connected'] = True
38 elif "okay" in icon:
33 kwargs['connected'] = True
39 kwargs['connected'] = True
40 else:
41 kwargs['connected'] = False
34
42
35 if not kwargs['connected']:
43 if not kwargs['connected']:
36 messages.error(request, message=status)
44 messages.error(request, message=status)
37
45
38 kwargs['dev_conf'] = conf
46 kwargs['dev_conf'] = conf
39 kwargs['dev_conf_keys'] = ['experiment', 'device',
47 kwargs['dev_conf_keys'] = ['experiment', 'device',
40 'freq0', 'freq1',
48 'freq0', 'freq1',
41 'freq2', 'freq3']
49 'freq2', 'freq3']
42
50
43 kwargs['title'] = 'CGS Configuration'
51 kwargs['title'] = 'CGS Configuration'
44 kwargs['suptitle'] = 'Details'
52 kwargs['suptitle'] = 'Details'
45
53
46 kwargs['button'] = 'Edit Configuration'
54 kwargs['button'] = 'Edit Configuration'
47
55
48 ###### SIDEBAR ######
56 ###### SIDEBAR ######
49 kwargs.update(sidebar(conf))
57 kwargs.update(sidebar(conf))
50
58
51 return render(request, 'cgs_conf.html', kwargs)
59 return render(request, 'cgs_conf.html', kwargs)
52
60
53 def cgs_conf_edit(request, id_conf):
61 def cgs_conf_edit(request, id_conf):
54
62
55 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
63 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
56
64
57 if request.method=='GET':
65 if request.method=='GET':
58 form = CGSConfigurationForm(instance=conf)
66 form = CGSConfigurationForm(instance=conf)
59
67
60 if request.method=='POST':
68 if request.method=='POST':
61 form = CGSConfigurationForm(request.POST, instance=conf)
69 form = CGSConfigurationForm(request.POST, instance=conf)
62
70
63 if form.is_valid():
71 if form.is_valid():
64 conf = form.save(commit=False)
72 conf = form.save(commit=False)
65
73
66 if conf.verify_frequencies():
74 if conf.verify_frequencies():
67
75
68 conf.save()
76 conf.save()
69 return redirect('url_cgs_conf', id_conf=conf.id)
77 return redirect('url_cgs_conf', id_conf=conf.id)
70
78
71 ##ERRORS
79 ##ERRORS
72
80
73 kwargs = {}
81 kwargs = {}
74 kwargs['id_dev'] = conf.id
82 kwargs['id_dev'] = conf.id
75 kwargs['form'] = form
83 kwargs['form'] = form
76 kwargs['title'] = 'Device Configuration'
84 kwargs['title'] = 'Device Configuration'
77 kwargs['suptitle'] = 'Edit'
85 kwargs['suptitle'] = 'Edit'
78 kwargs['button'] = 'Save'
86 kwargs['button'] = 'Save'
79
87
80 ###### SIDEBAR ######
88 ###### SIDEBAR ######
81 kwargs.update(sidebar(conf))
89 kwargs.update(sidebar(conf))
82
90
83 return render(request, 'cgs_conf_edit.html', kwargs)
91 return render(request, 'cgs_conf_edit.html', kwargs)
84
92
85 def cgs_conf_write(request, id_conf):
93 def cgs_conf_write(request, id_conf):
86
94
87 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
95 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
88 ip=conf.device.ip_address
96 ip=conf.device.ip_address
89 port=conf.device.port_address
97 port=conf.device.port_address
90
98
91 #Frequencies from form
99 #Frequencies from form
92 f0 = int(conf.freq0)
100 f0 = int(conf.freq0)
93 f1 = int(conf.freq1)
101 f1 = int(conf.freq1)
94 f2 = int(conf.freq2)
102 f2 = int(conf.freq2)
95 f3 = int(conf.freq3)
103 f3 = int(conf.freq3)
96 post_data = {"f0":f0, "f1":f1, "f2":f2, "f3":f3}
104 post_data = {"f0":f0, "f1":f1, "f2":f2, "f3":f3}
97 route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
105 route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
98 r = requests.post(route, post_data)
106 r = requests.post(route, post_data)
99 text = r.text
107 text = r.text
100 text = text.split(',')
108 text = text.split(',')
101
109
102 try:
110 try:
103 title = text[0]
111 title = text[0]
104 status = text[1]
112 status = text[1]
105 status_ok = r.status_code
113 status_ok = r.status_code
106 if status_ok == 200 or title == "okay":
114 if status_ok == 200 or title == "okay":
107 messages.success(request, status)
115 messages.success(request, status)
108 else:
116 else:
109 messages.error(request, status)
117 messages.error(request, status)
110 except:
118 except:
111 messages.error(request, "An hardware error was found")
119 messages.error(request, "An hardware error was found")
112
120
113
121
114
122
115
123
116 return redirect('url_cgs_conf', id_conf=conf.id)
124 return redirect('url_cgs_conf', id_conf=conf.id)
117
125
118 def cgs_conf_read(request, id_conf):
126 def cgs_conf_read(request, id_conf):
119
127
120 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
128 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
121 ip=conf.device.ip_address
129 ip=conf.device.ip_address
122 port=conf.device.port_address
130 port=conf.device.port_address
123
131
124 if request.method=='POST':
132 if request.method=='POST':
125 form = CGSConfigurationForm(request.POST, instance=conf)
133 form = CGSConfigurationForm(request.POST, instance=conf)
126
134
127 if form.is_valid():
135 if form.is_valid():
128 cgs_model = form.save(commit=False)
136 cgs_model = form.save(commit=False)
129
137
130 if cgs_model.verify_frequencies():
138 if cgs_model.verify_frequencies():
131
139
132 cgs_model.save()
140 cgs_model.save()
133 return redirect('url_cgs_conf', id_conf=conf.id)
141 return redirect('url_cgs_conf', id_conf=conf.id)
134
142
135 messages.error(request, "Parameters could not be saved. Invalid parameters")
143 messages.error(request, "Parameters could not be saved. Invalid parameters")
136
144
137 data = {}
145 data = {}
138
146
139
147
140 if request.method=='GET':
148 if request.method=='GET':
141 #r: response = icon, status
149 #r: response = icon, status
142 route = "http://" + str(ip) + ":" + str(port) + "/status/ad9548"
150 route = "http://" + str(ip) + ":" + str(port) + "/status/ad9548"
143 r = requests.get(route)
151 r = requests.get(route)
144 response = str(r.text)
152 response = str(r.text)
145 response = response.split(";")
153 response = response.split(";")
146 icon = response[0]
154 icon = response[0]
147 status = response[-1]
155 status = response[-1]
148 print r.text
156 print r.text
149 #"icon" could be: "alert" or "okay"
157 #"icon" could be: "alert" or "okay"
150 if "okay" in icon:
158 if "okay" in icon:
151 messages.success(request, status)
159 messages.success(request, status)
152 else:
160 else:
153 messages.error(request, status)
161 messages.error(request, status)
154 #Get Frequencies
162 #Get Frequencies
155 route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
163 route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
156 #frequencies = requests.get('http://10.10.10.175:8080/frequencies/')
164 #frequencies = requests.get('http://10.10.10.175:8080/frequencies/')
157 frequencies = requests.get(route)
165 frequencies = requests.get(route)
158 frequencies = frequencies.json()
166 frequencies = frequencies.json()
159 frequencies = frequencies.get("Frecuencias")
167 frequencies = frequencies.get("Frecuencias")
160 f0 = frequencies.get("f0")
168 f0 = frequencies.get("f0")
161 f1 = frequencies.get("f1")
169 f1 = frequencies.get("f1")
162 f2 = frequencies.get("f2")
170 f2 = frequencies.get("f2")
163 f3 = frequencies.get("f3")
171 f3 = frequencies.get("f3")
164 print f0,f1,f2,f3
172 print f0,f1,f2,f3
165
173
166
174
167 if not response:
175 if not response:
168 messages.error(request, "Could not read parameters from Device")
176 messages.error(request, "Could not read parameters from Device")
169 return redirect('url_cgs_conf', id_conf=conf.id)
177 return redirect('url_cgs_conf', id_conf=conf.id)
170
178
171 data = {'experiment' : conf.experiment.id,
179 data = {'experiment' : conf.experiment.id,
172 'device' : conf.device.id,
180 'device' : conf.device.id,
173 'freq0' : f0,
181 'freq0' : f0,
174 'freq1' : f1,
182 'freq1' : f1,
175 'freq2' : f2,
183 'freq2' : f2,
176 'freq3' : f3,
184 'freq3' : f3,
177 }
185 }
178
186
179 form = CGSConfigurationForm(initial = data)
187 form = CGSConfigurationForm(initial = data)
180
188
181 kwargs = {}
189 kwargs = {}
182 kwargs['id_dev'] = conf.id
190 kwargs['id_dev'] = conf.id
183 kwargs['form'] = form
191 kwargs['form'] = form
184 kwargs['title'] = 'Device Configuration'
192 kwargs['title'] = 'Device Configuration'
185 kwargs['suptitle'] = 'Parameters read from device'
193 kwargs['suptitle'] = 'Parameters read from device'
186 kwargs['button'] = 'Save'
194 kwargs['button'] = 'Save'
187
195
188 ###### SIDEBAR ######
196 ###### SIDEBAR ######
189 kwargs.update(sidebar(conf))
197 kwargs.update(sidebar(conf))
190
198
191 return render(request, 'cgs_conf_edit.html', kwargs)
199 return render(request, 'cgs_conf_edit.html', kwargs)
192
200
193 #def cgs_conf_export(request, id_conf):
201 #def cgs_conf_export(request, id_conf):
194
202
195 # conf = get_object_or_404(CGSConfiguration, pk=id_conf)
203 # conf = get_object_or_404(CGSConfiguration, pk=id_conf)
196 # ip=conf.device.ip_address
204 # ip=conf.device.ip_address
197 # port=conf.device.port_address
205 # port=conf.device.port_address
198
206
199 # return render(request, 'cgs_conf_export.html', kwargs) No newline at end of file
207 # return render(request, 'cgs_conf_export.html', kwargs)
General Comments 0
You need to be logged in to leave comments. Login now