@@ -7,6 +7,7 from django.core.urlresolvers import reverse | |||||
7 |
|
7 | |||
8 | from apps.main.models import Configuration |
|
8 | from apps.main.models import Configuration | |
9 | from apps.main.utils import Params |
|
9 | from apps.main.utils import Params | |
|
10 | ||||
10 | # Create your models here. |
|
11 | # Create your models here. | |
11 |
|
12 | |||
12 | EXPERIMENT_TYPE = ( |
|
13 | EXPERIMENT_TYPE = ( | |
@@ -102,7 +103,7 class JARSConfiguration(Configuration): | |||||
102 | #view_raw_data = models.BooleanField(verbose_name='View Raw Data', default=True) |
|
103 | #view_raw_data = models.BooleanField(verbose_name='View Raw Data', default=True) | |
103 | save_ch_dc = models.BooleanField(verbose_name='Save Channels DC', default=True) |
|
104 | save_ch_dc = models.BooleanField(verbose_name='Save Channels DC', default=True) | |
104 | save_data = models.BooleanField(verbose_name='Save Data', default=True) |
|
105 | save_data = models.BooleanField(verbose_name='Save Data', default=True) | |
105 |
filter_parms = models.CharField(max_length=10000, default='{"clock": 60, "mult": 5, "fch": 49.92, "fch_decimal": 721554506, "filter_fir": 2, "filter_2": 12, "filter_5": 25} |
|
106 | filter_parms = models.CharField(max_length=10000, default='{"clock": 60, "mult": 5, "fch": 49.92, "fch_decimal": 721554506, "filter_fir": 2, "filter_2": 12, "filter_5": 25}') | |
106 |
|
107 | |||
107 | class Meta: |
|
108 | class Meta: | |
108 | db_table = 'jars_configurations' |
|
109 | db_table = 'jars_configurations' | |
@@ -112,7 +113,7 class JARSConfiguration(Configuration): | |||||
112 | if filter_parms.__class__.__name__=='str': |
|
113 | if filter_parms.__class__.__name__=='str': | |
113 | filter_parms = eval(filter_parms) |
|
114 | filter_parms = eval(filter_parms) | |
114 |
|
115 | |||
115 | filter_clock = filter_parms['clock'] |
|
116 | filter_clock = float(filter_parms['clock']) | |
116 | filter_2 = filter_parms['filter_2'] |
|
117 | filter_2 = filter_parms['filter_2'] | |
117 | filter_5 = filter_parms['filter_5'] |
|
118 | filter_5 = filter_parms['filter_5'] | |
118 | filter_fir = filter_parms['filter_fir'] |
|
119 | filter_fir = filter_parms['filter_fir'] | |
@@ -270,6 +271,24 class JARSConfiguration(Configuration): | |||||
270 |
|
271 | |||
271 | return True |
|
272 | return True | |
272 |
|
273 | |||
|
274 | ||||
|
275 | def get_log(self): | |||
|
276 | ||||
|
277 | payload = None | |||
|
278 | ||||
|
279 | try: | |||
|
280 | payload = requests.get(self.device.url('get_log'), params={'name':self.experiment.name}) | |||
|
281 | except: | |||
|
282 | self.device.status = 0 | |||
|
283 | self.device.save() | |||
|
284 | self.message = 'Jars API is not running.' | |||
|
285 | return False | |||
|
286 | ||||
|
287 | self.message = 'Jars API is running' | |||
|
288 | ||||
|
289 | return payload | |||
|
290 | ||||
|
291 | ||||
273 | def update_from_file(self, filename): |
|
292 | def update_from_file(self, filename): | |
274 |
|
293 | |||
275 | f = JARSFile(filename) |
|
294 | f = JARSFile(filename) | |
@@ -281,3 +300,6 class JARSConfiguration(Configuration): | |||||
281 |
|
300 | |||
282 | def get_absolute_url_read(self): |
|
301 | def get_absolute_url_read(self): | |
283 | return reverse('url_read_jars_conf', args=[str(self.id)]) |
|
302 | return reverse('url_read_jars_conf', args=[str(self.id)]) | |
|
303 | ||||
|
304 | def get_absolute_url_log(self): | |||
|
305 | return reverse('url_get_jars_log', args=[str(self.id)]) |
@@ -3,6 +3,9 | |||||
3 | {% load bootstrap3 %} |
|
3 | {% load bootstrap3 %} | |
4 | {% load main_tags %} |
|
4 | {% load main_tags %} | |
5 |
|
5 | |||
|
6 | {% block extra-menu-actions %} | |||
|
7 | <li><a href="{{ dev_conf.get_absolute_url_log }}"><span class="glyphicon glyphicon-save-file" aria-hidden="true"></span> Get Log File</a></li> | |||
|
8 | {% endblock %} | |||
6 |
|
9 | |||
7 | {% block extra-content %} |
|
10 | {% block extra-content %} | |
8 |
|
11 |
@@ -9,4 +9,5 urlpatterns = ( | |||||
9 | url(r'^(?P<conf_id>-?\d+)/change_filter/(?P<filter_id>-?\d+)/$', views.change_filter, name='url_change_jars_filter'), |
|
9 | url(r'^(?P<conf_id>-?\d+)/change_filter/(?P<filter_id>-?\d+)/$', views.change_filter, name='url_change_jars_filter'), | |
10 | url(r'^(?P<conf_id>-?\d+)/import/$', views.import_file, name='url_import_jars_conf'), |
|
10 | url(r'^(?P<conf_id>-?\d+)/import/$', views.import_file, name='url_import_jars_conf'), | |
11 | url(r'^(?P<conf_id>-?\d+)/read/$', views.read_conf, name='url_read_jars_conf'), |
|
11 | url(r'^(?P<conf_id>-?\d+)/read/$', views.read_conf, name='url_read_jars_conf'), | |
|
12 | url(r'^(?P<conf_id>-?\d+)/get_log/$', views.get_log, name='url_get_jars_log'), | |||
12 | ) |
|
13 | ) |
@@ -2,6 +2,7 from django.shortcuts import render_to_response | |||||
2 | from django.template import RequestContext |
|
2 | from django.template import RequestContext | |
3 | from django.shortcuts import redirect, render, get_object_or_404 |
|
3 | from django.shortcuts import redirect, render, get_object_or_404 | |
4 | from django.contrib import messages |
|
4 | from django.contrib import messages | |
|
5 | from django.http import HttpResponse | |||
5 |
|
6 | |||
6 | from apps.main.models import Device |
|
7 | from apps.main.models import Device | |
7 | from apps.main.views import sidebar |
|
8 | from apps.main.views import sidebar | |
@@ -207,3 +208,28 def change_filter(request, conf_id, filter_id=None): | |||||
207 | kwargs['conf_id'] = conf.id |
|
208 | kwargs['conf_id'] = conf.id | |
208 | kwargs['filter_id'] = filter_id |
|
209 | kwargs['filter_id'] = filter_id | |
209 | return render(request, 'change_jars_filter.html', kwargs) |
|
210 | return render(request, 'change_jars_filter.html', kwargs) | |
|
211 | ||||
|
212 | ||||
|
213 | def get_log(request, conf_id): | |||
|
214 | ||||
|
215 | conf = get_object_or_404(JARSConfiguration, pk=conf_id) | |||
|
216 | response = conf.get_log() | |||
|
217 | ||||
|
218 | if not response: | |||
|
219 | message = conf.message | |||
|
220 | messages.error(request, message) | |||
|
221 | return redirect('url_jars_conf', id_conf=conf.id) | |||
|
222 | ||||
|
223 | try: | |||
|
224 | message = response.json()['message'] | |||
|
225 | messages.error(request, message) | |||
|
226 | return redirect('url_jars_conf', id_conf=conf.id) | |||
|
227 | except Exception as e: | |||
|
228 | message = 'Restarting Report.txt has been downloaded successfully.' | |||
|
229 | ||||
|
230 | content = response | |||
|
231 | filename = 'Log_%s_%s.txt' %(conf.experiment.name, conf.experiment.id) | |||
|
232 | response = HttpResponse(content,content_type='text/plain') | |||
|
233 | response['Content-Disposition'] = 'attachment; filename="%s"' %filename | |||
|
234 | ||||
|
235 | return response No newline at end of file |
@@ -1281,9 +1281,6 def dev_conf_new(request, id_exp=0, id_dev=0): | |||||
1281 | line.params = json.dumps(line_params) |
|
1281 | line.params = json.dumps(line_params) | |
1282 | line.save() |
|
1282 | line.save() | |
1283 |
|
1283 | |||
1284 | if conf.device.device_type.name=='jars': |
|
|||
1285 | conf.add_parms_to_filter() |
|
|||
1286 |
|
||||
1287 | return redirect('url_dev_conf', id_conf=conf.pk) |
|
1284 | return redirect('url_dev_conf', id_conf=conf.pk) | |
1288 |
|
1285 | |||
1289 | kwargs['id_exp'] = id_exp |
|
1286 | kwargs['id_exp'] = id_exp |
General Comments 0
You need to be logged in to leave comments.
Login now