##// END OF EJS Templates
Task #1127: Get Log function has been implemented...
Fiorella Quino -
r274:b4c0ecf56a8d
parent child
Show More
@@ -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}, "model": "jars.jarsfilter", "pk": 1}')
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