From ccc89c80baf23548f1d35b2c56d2bcfe80897987 Mon Sep 17 00:00:00 2001 From: clerie Date: Sat, 11 Apr 2020 15:58:29 +0200 Subject: [PATCH] Display age of data --- wetter/models.py | 15 +++++++++++++++ wetter/templates/export.html | 4 ++-- wetter/templates/station.html | 8 +++++++- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/wetter/models.py b/wetter/models.py index 2b5a86e..720bcc3 100644 --- a/wetter/models.py +++ b/wetter/models.py @@ -2,6 +2,8 @@ from wetter import db +from datetime import datetime, timedelta + class Stations(db.Model): __tablename__ = 'stations' id = db.Column(db.Integer, primary_key=True) @@ -13,6 +15,19 @@ class Stations(db.Model): state = db.Column(db.String) sea_level = db.Column(db.Integer) + def climate_date_range(self): + r = db.session.query(db.func.min(Climate.date), db.func.max(Climate.date)).filter_by(station=self.id).one() + return {"min": r[0], "max": r[1]} + + def climate_date_old(self): + return self.climate_date_range()["max"] < (datetime.today().date() - timedelta(days=1)) + + def climate_count(self): + return db.session.query(db.func.count(Climate.id)).filter_by(station=self.id).one()[0] + + def __str__(self): + return self.name + class Climate(db.Model): __tablename__ = 'climate' id = db.Column(db.Integer, primary_key=True) diff --git a/wetter/templates/export.html b/wetter/templates/export.html index 7d1fc66..17e8c78 100644 --- a/wetter/templates/export.html +++ b/wetter/templates/export.html @@ -27,13 +27,13 @@
- +
- +
diff --git a/wetter/templates/station.html b/wetter/templates/station.html index 8e23e62..cd65876 100644 --- a/wetter/templates/station.html +++ b/wetter/templates/station.html @@ -9,6 +9,11 @@ {% block content %}
+ {% if station.climate_date_old() %} + + {% endif %}
@@ -51,7 +56,7 @@
- + Exportieren
@@ -60,6 +65,7 @@
Aktueller Source vom DWD +
Bereich Messdaten: {{ station.climate_date_range()["min"] }} - {{ station.climate_date_range()["max"] }}
Letztes Update: {{ station.dwd_last_update }}