@@ -7,6 +7,7 from django.core.urlresolvers import reverse | |||
|
7 | 7 | |
|
8 | 8 | from apps.main.models import Configuration |
|
9 | 9 | from apps.main.utils import Params |
|
10 | ||
|
10 | 11 | # Create your models here. |
|
11 | 12 | |
|
12 | 13 | EXPERIMENT_TYPE = ( |
@@ -102,7 +103,7 class JARSConfiguration(Configuration): | |||
|
102 | 103 | #view_raw_data = models.BooleanField(verbose_name='View Raw Data', default=True) |
|
103 | 104 | save_ch_dc = models.BooleanField(verbose_name='Save Channels DC', default=True) |
|
104 | 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 | 108 | class Meta: |
|
108 | 109 | db_table = 'jars_configurations' |
@@ -112,7 +113,7 class JARSConfiguration(Configuration): | |||
|
112 | 113 | if filter_parms.__class__.__name__=='str': |
|
113 | 114 | filter_parms = eval(filter_parms) |
|
114 | 115 | |
|
115 | filter_clock = filter_parms['clock'] | |
|
116 | filter_clock = float(filter_parms['clock']) | |
|
116 | 117 | filter_2 = filter_parms['filter_2'] |
|
117 | 118 | filter_5 = filter_parms['filter_5'] |
|
118 | 119 | filter_fir = filter_parms['filter_fir'] |
@@ -270,6 +271,24 class JARSConfiguration(Configuration): | |||
|
270 | 271 | |
|
271 | 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 | 292 | def update_from_file(self, filename): |
|
274 | 293 | |
|
275 | 294 | f = JARSFile(filename) |
@@ -281,3 +300,6 class JARSConfiguration(Configuration): | |||
|
281 | 300 | |
|
282 | 301 | def get_absolute_url_read(self): |
|
283 | 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 | 3 | {% load bootstrap3 %} |
|
4 | 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 | 10 | {% block extra-content %} |
|
8 | 11 |
@@ -9,4 +9,5 urlpatterns = ( | |||
|
9 | 9 | url(r'^(?P<conf_id>-?\d+)/change_filter/(?P<filter_id>-?\d+)/$', views.change_filter, name='url_change_jars_filter'), |
|
10 | 10 | url(r'^(?P<conf_id>-?\d+)/import/$', views.import_file, name='url_import_jars_conf'), |
|
11 | 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 | 2 | from django.template import RequestContext |
|
3 | 3 | from django.shortcuts import redirect, render, get_object_or_404 |
|
4 | 4 | from django.contrib import messages |
|
5 | from django.http import HttpResponse | |
|
5 | 6 | |
|
6 | 7 | from apps.main.models import Device |
|
7 | 8 | from apps.main.views import sidebar |
@@ -207,3 +208,28 def change_filter(request, conf_id, filter_id=None): | |||
|
207 | 208 | kwargs['conf_id'] = conf.id |
|
208 | 209 | kwargs['filter_id'] = filter_id |
|
209 | 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 | 1281 | line.params = json.dumps(line_params) |
|
1282 | 1282 | line.save() |
|
1283 | 1283 | |
|
1284 | if conf.device.device_type.name=='jars': | |
|
1285 | conf.add_parms_to_filter() | |
|
1286 | ||
|
1287 | 1284 | return redirect('url_dev_conf', id_conf=conf.pk) |
|
1288 | 1285 | |
|
1289 | 1286 | kwargs['id_exp'] = id_exp |
General Comments 0
You need to be logged in to leave comments.
Login now