|
|
# -*- coding: utf-8 -*-
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
|
import os
|
|
|
import json
|
|
|
from datetime import datetime, timedelta
|
|
|
|
|
|
from django import forms
|
|
|
from django.contrib import messages
|
|
|
from django.utils.safestring import mark_safe
|
|
|
from django.shortcuts import render
|
|
|
|
|
|
import mongoengine
|
|
|
|
|
|
from px.models import PXData
|
|
|
|
|
|
host_mongo = os.environ.get('HOST_MONGO', 'localhost')
|
|
|
mongoengine.connect('dbpx', host=host_mongo, port=27017)
|
|
|
|
|
|
# Create your views here.
|
|
|
# 1680242473
|
|
|
|
|
|
def realtime_plots(queryset, plot):
|
|
|
|
|
|
data = queryset.data[plot]
|
|
|
plots = []
|
|
|
for x in data:
|
|
|
plots.extend(data[x])
|
|
|
plots.sort()
|
|
|
|
|
|
return plots[-8:]
|
|
|
|
|
|
def home(request):
|
|
|
|
|
|
return render(request, 'home.html')
|
|
|
|
|
|
def realtime(request, plot='Z'):
|
|
|
kwargs = {}
|
|
|
|
|
|
data = PXData.objects[0]
|
|
|
kwargs['figures'] = [os.path.join(data.date.strftime('%Y%m%d'), s) for s in realtime_plots(data, plot)]
|
|
|
kwargs['last'] = data.data['dt']
|
|
|
|
|
|
return render(request, 'realtime.html', kwargs)
|
|
|
|
|
|
def database(request, plot='Z'):
|
|
|
kwargs = {}
|
|
|
date = request.GET.get('date', None)
|
|
|
if date is None:
|
|
|
dt = datetime.today().replace(minute=0, second=0)-timedelta(hours=5)
|
|
|
kwargs['dt'] = dt
|
|
|
else:
|
|
|
dt = datetime.strptime(date, '%d/%m/%Y %H:%M')
|
|
|
kwargs['dt'] = dt
|
|
|
data = PXData.objects.filter(date=dt.date())
|
|
|
if data:
|
|
|
kwargs['figures'] = [os.path.join(dt.strftime('%Y%m%d'), s) for s in data[0].data[plot][str(dt.hour)]]
|
|
|
|
|
|
kwargs['dates'] = json.dumps([d.date.strftime('%d/%m/%Y') for d in PXData.objects])
|
|
|
|
|
|
return render(request, 'database.html', kwargs)
|
|
|
|
|
|
def contact(request):
|
|
|
|
|
|
return render(request, 'contact.html')
|