##// END OF EJS Templates
Remove redis port and update containers names
Remove redis port and update containers names

File last commit:

r27:c1db622aca0e
r29:d5850278df50
Show More
views.py
170 lines | 5.4 KiB | text/x-python | PythonLexer
Developer
New version with cards and status alerts
r11 #!/usr/bin/python
# -*- coding: UTF-8 -*-
Juan C. Espinoza
Test Version
r22
First version RTI, Spectra, Noise + Docker
r0
Juan C. Espinoza
Docker working
r1 import os
Developer
New version with cards and status alerts
r11 import time
First version RTI, Spectra, Noise + Docker
r0 from datetime import datetime
from django import forms
from django.contrib import messages
from django.utils.safestring import mark_safe
from django.shortcuts import render
Reorganize models, smaller docker, others
r2 import mongoengine
First version RTI, Spectra, Noise + Docker
r0
Juan C. Espinoza
Test Version
r22 from plotter.models import Experiment, ExpDetail, PlotMeta, PlotData
Juan C. Espinoza
Docker working
r1
Reorganize models, smaller docker, others
r2 host = os.environ.get('HOST_MONGO', 'localhost')
mongoengine.connect('dbplots', host=host, port=27017)
First version RTI, Spectra, Noise + Docker
r0
Developer
New version with cards and status alerts
r11
First version RTI, Spectra, Noise + Docker
r0 # Forms
class SearchForm(forms.Form):
experiment = forms.ChoiceField()
App only for realtime
r4 plot = forms.ChoiceField()
First version RTI, Spectra, Noise + Docker
r0
def __init__(self, *args, **kwargs):
exp_choices = kwargs.pop('exp_choices', [])
App only for realtime
r4 plt_choices = kwargs.pop('plt_choices', [])
First version RTI, Spectra, Noise + Docker
r0 super(SearchForm, self).__init__(*args, **kwargs)
self.fields['experiment'].choices = [(0, 'Select Experiment')] + exp_choices
App only for realtime
r4 self.fields['plot'].choices = [(0, 'Select Plot')] + plt_choices
Developer
New version with cards and status alerts
r11 # we use this class to change the parameter in Scatter plot using the function plotly.restyle in jroplot.js
Plot's layout now can be updated
r5 class ScatterSetupForm(forms.Form):
plotdiv = forms.CharField(widget=forms.HiddenInput())
ymax = forms.CharField(initial=30)
ymin = forms.CharField(initial=10)
Developer
New version with cards and status alerts
r11 # we use this class to change the parameter in RTI plot using the function plotly.restyle in jroplot.js
Plot's layout now can be updated
r5 class RTISetupForm(forms.Form):
plotdiv = forms.CharField(widget=forms.HiddenInput())
colormap = forms.ChoiceField(choices=[('Jet', 'Jet'), ('Viridis', 'Viridis'), ('RdBu', 'RdBu')])
zmax = forms.CharField(initial=30)
zmin = forms.CharField(initial=10)
ymax = forms.CharField(initial=180)
ymin = forms.CharField(initial=80)
Developer
New version with cards and status alerts
r11 # we use this class to change the parameter in SPC plot using the function plotly.restyle in jroplot.js
Plot's layout now can be updated
r5 class SPCSetupForm(forms.Form):
plotdiv = forms.CharField(widget=forms.HiddenInput())
colormap = forms.ChoiceField(choices=[('Jet', 'Jet'), ('Viridis', 'Viridis'), ('RdBu', 'RdBu')])
Developer
New version with cards and status alerts
r11 #como es un perfil xmin y xmax deben ser iguales a zmin y zmax
Plot's layout now can be updated
r5 xmax = forms.CharField(initial=30)
xmin = forms.CharField(initial=10)
Developer
New version with cards and status alerts
r11 #x2max = forms.CharField(initial=30)
#x2min = forms.CharField(initial=10)
Plot's layout now can be updated
r5 ymax = forms.CharField(initial=180)
ymin = forms.CharField(initial=80)
zmax = forms.CharField(initial=30)
zmin = forms.CharField(initial=10)
First version RTI, Spectra, Noise + Docker
r0 # Create your views here.
Developer
New version with cards and status alerts
r11 def main(request):
First version RTI, Spectra, Noise + Docker
r0
App only for realtime
r4 kwargs = {}
Juan C. Espinoza
Test Version
r22 date = request.GET.get('date', datetime.now().strftime('%d-%m-%Y'))
exps = ExpDetail.objects(date=datetime.strptime(date, '%d-%m-%Y'))
Developer
New version with cards and status alerts
r11 experiments = []
for exp in exps:
dum = {}
Juan C. Espinoza
Test Version
r22 dum['code'] = exp.experiment.code
Juan C. Espinoza
Test version ready
r27 dum['plots'] = []
Juan C. Espinoza
Test Version
r22 dum['name'] = exp.experiment.name
Developer
New version with cards and status alerts
r11 dt = datetime.now()
t = time.mktime(dt.timetuple())
Juan C. Espinoza
Test version ready
r27 if exp.plots()[0]['metadata']['localtime'] == True:
Developer
New version with cards and status alerts
r11 t -= 5*60*60
Juan C. Espinoza
Test version ready
r27
Juan C. Espinoza
Test Version
r22 if (t-exp['last_time']) > 10*60:
Developer
New version with cards and status alerts
r11 status = 'Offline'
clase = 'alertas-offline'
Juan C. Espinoza
New template, clean code, workig for realtime
r21 style = 'danger'
Juan C. Espinoza
Test Version
r22 lastDataDate = exp['last_time']
elif (t-exp['last_time']) > 5*60:
Developer
New version with cards and status alerts
r11 status = 'Delayed'
clase = 'alertas-delayed'
Juan C. Espinoza
New template, clean code, workig for realtime
r21 style = 'warning'
Juan C. Espinoza
Test Version
r22 lastDataDate = exp['last_time']
Developer
New version with cards and status alerts
r11 else:
status = 'Online'
clase = 'alertas-online'
Juan C. Espinoza
New template, clean code, workig for realtime
r21 style = 'success'
Juan C. Espinoza
Test Version
r22 lastDataDate = exp['last_time']
Developer
New version with cards and status alerts
r11
dum['status'] = status
dum['class'] = clase
Juan C. Espinoza
New template, clean code, workig for realtime
r21 dum['style']= style
dum['date']= datetime.utcfromtimestamp(lastDataDate)
Juan C. Espinoza
Test version ready
r27 for plot in exp.plots():
dum['plots'].append({'plot': plot.plot, 'name': plot.plot.replace('_', ' ').title(), 'id':plot.id})
Developer
New version with cards and status alerts
r11 experiments.append(dum)
App only for realtime
r4
kwargs['date'] = date
Developer
New version with cards and status alerts
r11 kwargs['experiments'] = experiments
Juan C. Espinoza
Styles and templates updated
r25 kwargs['menu_list'] = ['Realtime']
Developer
New version with cards and status alerts
r11
return render(request, 'home.html', kwargs)
Juan C. Espinoza
Styles and templates updated
r25 def tools(request):
'''
'''
kwargs = {
'menu_list': ['Tools']
}
return render(request, 'tools.html', kwargs)
def reports(request):
'''
'''
kwargs = {
'menu_list': ['Reports']
}
return render(request, 'reports.html', kwargs)
First version RTI, Spectra, Noise + Docker
r0
Developer
New version with cards and status alerts
r11 def plot(request, code=None, plot=None):
'''
'''
Juan C. Espinoza
New template, clean code, workig for realtime
r21
realtime = False
date = request.GET.get('date', None)
if date is None:
Juan C. Espinoza
Test Version
r22 date = datetime.now().strftime('%d-%m-%Y')
Juan C. Espinoza
New template, clean code, workig for realtime
r21 realtime = True
exp = Experiment.objects.get(code=int(code))
Juan C. Espinoza
Test Version
r22 detail = ExpDetail.objects.get(experiment=exp, date=datetime.strptime(date, '%d-%m-%Y'))
meta = PlotMeta.objects.get(exp_detail=detail, plot=plot)
Developer
New version with cards and status alerts
r11
kwargs = {
'code': code,
'plot': plot,
Juan C. Espinoza
Test version ready
r27 'meta':meta,
Developer
New version with cards and status alerts
r11 'date': date,
Juan C. Espinoza
Test Version
r22 'id': meta.pk,
Juan C. Espinoza
New template, clean code, workig for realtime
r21 'realtime': realtime,
Juan C. Espinoza
Test version ready
r27 'menu_list': ['Realtime', exp.name, meta.plot.replace('_', ' ').title()]
Developer
New version with cards and status alerts
r11 }
# Logic to show my views
Juan C. Espinoza
Test version ready
r27 if meta.metadata['type'] == 'pcolorbuffer':
Plot's layout now can be updated
r5 kwargs['setup_form'] = RTISetupForm()
Juan C. Espinoza
New template, clean code, workig for realtime
r21 kwargs['fn_plot'] = 'PcolorBuffer'
return render(request, 'plot.html', kwargs)
Juan C. Espinoza
Test version ready
r27 elif meta.metadata['type'] == 'pcolor':
Plot's layout now can be updated
r5 kwargs['setup_form'] = SPCSetupForm()
Juan C. Espinoza
New template, clean code, workig for realtime
r21 kwargs['fn_plot'] = 'Pcolor'
return render(request, 'plot.html', kwargs)
Juan C. Espinoza
Test version ready
r27 elif meta.metadata['type'] == 'scatter':
Plot's layout now can be updated
r5 kwargs['setup_form'] = ScatterSetupForm()
Juan C. Espinoza
New template, clean code, workig for realtime
r21 kwargs['fn_plot'] = 'Scatter'
return render(request, 'plot.html', kwargs)
First version RTI, Spectra, Noise + Docker
r0 else:
Developer
New version with cards and status alerts
r11 return render(request, 'home.html', {})