##// END OF EJS Templates
Standardize jars functions: start, stop, write, read, status...
Fiorella Quino -
r209:90fa9a52ca2f
parent child
Show More
@@ -190,34 +190,57 class JARSConfiguration(Configuration):
190 190
191 191 def status_device(self):
192 192
193 answer = api.status(self.device.ip_address,self.device.port_address)
194 self.device.status = int(answer[0])
195 self.message = answer[2:]
196 self.device.save()
193 try:
194 answer = api.status(self.device.ip_address,self.device.port_address)
195 self.device.status = int(answer[0])
196 self.device.save()
197 self.message = answer[2:]
198 if self.device.status == 0:
199 return False
197 200
198 return self.device.status
201 except Exception as e:
202 self.device.status = 0
203 self.message = str(e)
204 self.device.save()
205 return False
206
207 return True
199 208
200 209 def stop_device(self):
201 210
202 answer = api.stop(self.device.ip_address,self.device.port_address)
203 self.device.status = int(answer[0])
204 self.message = answer[2:]
205 self.device.save()
211 try:
212 answer = api.stop(self.device.ip_address,self.device.port_address)
213 self.device.status = int(answer[0])
214 self.message = answer[2:]
215 self.device.save()
216 if self.device.status == 0 or self.device.status == 1:
217 return False
206 218
207 return self.device.status
219 except Exception as e:
220 self.device.status = 0
221 self.message = str(e)
222 self.device.save()
223 return False
224
225 return True
208 226
209 227 def read_device(self):
210 228
211 answer = api.read(self.device.ip_address,self.device.port_address)
212 self.device.status = int(answer[0])
213 229 try:
230 answer = api.read(self.device.ip_address,self.device.port_address)
231 self.device.status = int(answer[0])
232 self.device.save()
233 self.message = answer[2:]
234 if self.device.status == 1:
235 return False
214 236 data = json.loads(answer[2:])
215 237 parms = data['configurations']['jars']
238
216 239 except:
217 240 self.device.status = 0
218 241 self.device.save()
219 242 self.message = 'Could not read JARS configuration.'
220 return ''
243 return False
221 244
222 245 #self.dict_to_parms(parms)
223 246 self.message = 'Current JARS configuration was read successfully.'
@@ -227,6 +250,10 class JARSConfiguration(Configuration):
227 250
228 251 def write_device(self):
229 252
253 if self.device.status == 3:
254 self.message = 'Could not configure device. Software Acquisition is running'
255 return False
256
230 257 data = self.experiment.parms_to_dict()
231 258 data = json.loads(data)
232 259 data['configurations']['dds'] =''
@@ -235,19 +262,42 class JARSConfiguration(Configuration):
235 262 data['configurations']['rc']['delays']=''
236 263 json_data = json.dumps(data)
237 264
238 answer = api.configure(self.device.ip_address,self.device.port_address,json_data)
239 #print answer
240 self.device.status = int(answer[0])
241 self.message = answer[2:]
265 try:
266 answer = api.configure(self.device.ip_address,self.device.port_address,json_data)
267 self.device.status = int(answer[0])
268 self.message = answer[2:]
269 self.device.save()
270 if self.device.status == 1:
271 return False
272 if self.device.status == 3:
273 return False
242 274
243 self.device.save()
275 except Exception as e:
276 self.device.status = 0
277 self.message = str(e)
278 self.device.save()
279 return False
244 280
245 return self.device.status
281 return True
246 282
247 283
248 284 def start_device(self):
249 285
250 self.write_device()
286 try:
287 answer = api.start(self.device.ip_address,self.device.port_address)
288 self.device.status = int(answer[0])
289 self.message = answer[2:]
290 self.device.save()
291 if self.device.status == 1:
292 return False
293
294 except Exception as e:
295 self.device.status = 0
296 self.message = str(e)
297 self.device.save()
298 return False
299
300 return True
251 301
252 302
253 303 def echo(self):
@@ -11,124 +11,124 from .forms import JARSConfigurationForm, JARSfilterForm, JARSImportForm
11 11 # Create your views here.
12 12
13 13 def jars_conf(request, id_conf):
14
14
15 15 conf = get_object_or_404(JARSConfiguration, pk=id_conf)
16
16
17 17 ip=conf.device.ip_address
18 18 port=conf.device.port_address
19
19
20 20 kwargs = {}
21 21 kwargs['status'] = conf.device.get_status_display()
22
23
22
23
24 24 kwargs['dev_conf'] = conf
25 25 kwargs['dev_conf_keys'] = ['name',
26 26 'cards_number', 'channels_number', 'channels',
27 'rd_directory', 'pd_directory',
27 'rd_directory', 'pd_directory',
28 28 'data_type',
29 29 'acq_profiles', 'profiles_block', 'ftp_interval', 'fftpoints',
30 30 'cohe_integr_str',
31 31 'incohe_integr', 'cohe_integr', 'filter', 'spectral_number',
32 32 'spectral', 'create_directory', 'include_expname',
33 33 'save_ch_dc', 'save_data']
34
34
35 35 kwargs['title'] = 'JARS Configuration'
36 36 kwargs['suptitle'] = 'Details'
37
37
38 38 kwargs['button'] = 'Edit Configuration'
39
39
40 40 #kwargs['no_play'] = True
41
42 kwargs['only_stop'] = True
43
41
42 #kwargs['only_stop'] = True
43
44 44 ###### SIDEBAR ######
45 45 kwargs.update(sidebar(conf=conf))
46
46
47 47 return render(request, 'jars_conf.html', kwargs)
48 48
49 49 def jars_conf_edit(request, id_conf):
50
50
51 51 conf = get_object_or_404(JARSConfiguration, pk=id_conf)
52
52
53 53 if request.method=='GET':
54 54 form = JARSConfigurationForm(instance=conf)
55
55
56 56 if request.method=='POST':
57 57 form = JARSConfigurationForm(request.POST, instance=conf)
58
58
59 59 if form.is_valid():
60 60 conf = form.save(commit=False)
61 61 conf.save()
62 62 return redirect('url_jars_conf', id_conf=conf.id)
63
63
64 64 ##ERRORS
65
65
66 66 kwargs = {}
67
67
68 68 kwargs['filter_id'] = conf.filter.id
69 69 kwargs['id_dev'] = conf.id
70 70 kwargs['form'] = form
71 71 kwargs['title'] = 'Device Configuration'
72 72 kwargs['suptitle'] = 'Edit'
73 73 kwargs['button'] = 'Save'
74
74
75 75 return render(request, 'jars_conf_edit.html', kwargs)
76 76
77 77 def import_file(request, conf_id):
78
78
79 79 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
80 80 if request.method=='POST':
81 81 form = JARSImportForm(request.POST, request.FILES)
82 if form.is_valid():
82 if form.is_valid():
83 83 try:
84 84 parms = conf.import_from_file(request.FILES['file_name'])
85
85
86 86 if parms:
87 87 conf.update_from_file(parms)
88 88 messages.success(request, 'Configuration "%s" loaded succesfully' % request.FILES['file_name'])
89 89 return redirect(conf.get_absolute_url_edit())
90
91 except Exception as e:
90
91 except Exception as e:
92 92 messages.error(request, 'Error parsing file: "%s" - %s' % (request.FILES['file_name'], e))
93
93
94 94 else:
95 95 messages.warning(request, 'Your current configuration will be replaced')
96 form = JARSImportForm()
97
96 form = JARSImportForm()
97
98 98 kwargs = {}
99 99 kwargs['form'] = form
100 100 kwargs['title'] = 'JARS Configuration'
101 101 kwargs['suptitle'] = 'Import file'
102 102 kwargs['button'] = 'Upload'
103 103 kwargs['previous'] = conf.get_absolute_url()
104
104
105 105 return render(request, 'jars_import.html', kwargs)
106 106
107 107 def read_conf(request, conf_id):
108
108
109 109 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
110 110 #filter = get_object_or_404(JARSfilter, pk=filter_id)
111
111
112 112 if request.method=='GET':
113
113
114 114 parms = conf.read_device()
115 115 conf.status_device()
116
116
117 117 if not parms:
118 118 messages.error(request, conf.message)
119 119 return redirect(conf.get_absolute_url())
120
120
121 121 form = JARSConfigurationForm(initial=parms, instance=conf)
122
122
123 123 if request.method=='POST':
124 124 form = JARSConfigurationForm(request.POST, instance=conf)
125
125
126 126 if form.is_valid():
127 127 form.save()
128 128 return redirect(conf.get_absolute_url())
129
129
130 130 messages.error(request, "Parameters could not be saved")
131
131
132 132 kwargs = {}
133 133 kwargs['id_dev'] = conf.id
134 134 kwargs['filter_id'] = conf.filter.id
@@ -136,17 +136,17 def read_conf(request, conf_id):
136 136 kwargs['title'] = 'Device Configuration'
137 137 kwargs['suptitle'] = 'Parameters read from device'
138 138 kwargs['button'] = 'Save'
139
139
140 140 ###### SIDEBAR ######
141 141 kwargs.update(sidebar(conf=conf))
142
142
143 143 return render(request, 'jars_conf_edit.html', kwargs)
144 144
145 145 def view_filter(request, conf_id, filter_id):
146
146
147 147 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
148 148 filter = get_object_or_404(JARSfilter, pk=filter_id)
149
149
150 150 filter_parms = eval(conf.filter_parms)
151 151 filter.name = filter_parms['name']
152 152 filter.clock = filter_parms['clock']
@@ -157,7 +157,7 def view_filter(request, conf_id, filter_id):
157 157 filter.filter_2 = filter_parms['filter_2']
158 158 filter.filter_5 = filter_parms['filter_5']
159 159 filter.speed = filter_parms['speed']
160
160
161 161 kwargs = {}
162 162 kwargs['conf'] = conf
163 163 kwargs['filter'] = filter
@@ -166,26 +166,26 def view_filter(request, conf_id, filter_id):
166 166 'mult', 'fch', 'fch_decimal',
167 167 'filter_fir', 'filter_2',
168 168 'filter_5', 'speed']
169
169
170 170 kwargs['title'] = 'Filter View'
171 171 kwargs['suptitle'] = 'Details'
172 172 kwargs['button'] = 'SI'
173 173 kwargs['edit_button'] = 'Edit Filter'
174 174 kwargs['add_button'] = 'New Filter'
175
175
176 176 return render(request, 'jars_filter.html', kwargs)
177 177
178 178 def edit_filter(request, conf_id, filter_id):
179
179
180 180 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
181 181 filter_parms = eval(conf.filter_parms)
182
182
183 183 if filter_id:
184 184 filter = get_object_or_404(JARSfilter, pk=filter_id)
185
185
186 186 if request.method=='GET':
187 187 form = JARSfilterForm(initial=filter_parms)
188
188
189 189 if request.method=='POST':
190 190 parms = {}
191 191 parms['name'] = request.POST['name']
@@ -197,10 +197,10 def edit_filter(request, conf_id, filter_id):
197 197 parms['filter_2'] = request.POST['filter_2']
198 198 parms['filter_5'] = request.POST['filter_5']
199 199 parms['speed'] = request.POST['speed']
200
200
201 201 conf.filter_parms = parms
202 202 conf.save()
203
203
204 204 #form = JARSfilterForm(request.POST)
205 205 #form = JARSfilterForm(request.POST, instance=filter)
206 206 #if form.is_valid():
@@ -208,7 +208,7 def edit_filter(request, conf_id, filter_id):
208 208 # messages.success(request, 'JARS Filter successfully updated')
209 209 # return redirect('url_jars_filter', conf.id, filter.id)
210 210 return redirect('url_jars_filter', conf.id, filter.id)
211
211
212 212 kwargs = {}
213 213 kwargs['form'] = form
214 214 kwargs['title'] = conf.name
@@ -216,16 +216,16 def edit_filter(request, conf_id, filter_id):
216 216 kwargs['button'] = 'Save'
217 217 # kwargs['previous'] = conf.get_absolute_url_edit()
218 218 kwargs['dev_conf'] = conf
219
219
220 220 return render(request, 'jars_filter_edit.html', kwargs)
221 221
222 222 def new_filter(request, conf_id):
223
223
224 224 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
225
225
226 226 if request.method=='GET':
227 227 form = JARSfilterForm()
228
228
229 229 if request.method=='POST':
230 230 form = JARSfilterForm(request.POST)
231 231 if form.is_valid():
@@ -235,7 +235,7 def new_filter(request, conf_id):
235 235 conf.add_parms_to_filter()
236 236 messages.success(request, 'New JARS Filter successfully created')
237 237 return redirect('url_edit_jars_conf', id_conf=conf.id)
238
238
239 239 kwargs = {}
240 240 kwargs['form'] = form
241 241 kwargs['title'] = 'New Filter'
@@ -243,5 +243,5 def new_filter(request, conf_id):
243 243 kwargs['button'] = 'Create'
244 244 # kwargs['previous'] = conf.get_absolute_url_edit()
245 245 kwargs['dev_conf'] = conf
246
247 return render(request, 'jars_new_filter.html', kwargs) No newline at end of file
246
247 return render(request, 'jars_new_filter.html', kwargs)
General Comments 0
You need to be logged in to leave comments. Login now