From 108d7d6be52e2e9c477270f8aadeeecb541c58d4 Mon Sep 17 00:00:00 2001 From: jlayec Date: Sat, 1 May 2021 18:33:39 +0000 Subject: [PATCH] fix view charge without trip after --- web/db.py | 9 +++++++++ web/views.py | 10 +++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/web/db.py b/web/db.py index 6654a23..28a7caf 100644 --- a/web/db.py +++ b/web/db.py @@ -140,6 +140,15 @@ class Database: return None return res[0] + @staticmethod + def get_range_timestamp(): + conn = Database.get_db() + first = conn.execute("SELECT Timestamp FROM position ORDER BY Timestamp limit 1").fetchone() + last = conn.execute("SELECT Timestamp FROM position ORDER BY Timestamp DESC limit 1").fetchone() + if first is None or last is None: + return None, None + return first[0], last[0] + @staticmethod def set_chargings_price(conn, start_at, price): if isinstance(start_at, str): diff --git a/web/views.py b/web/views.py index ac330da..74d64b0 100644 --- a/web/views.py +++ b/web/views.py @@ -250,12 +250,14 @@ def update_trips(): chargings = Charging.get_chargings() except (StopIteration, AssertionError): logger.debug("No trips yet") - return + # return # update for slider global min_date, max_date, min_millis, max_millis, step, marks try: - min_date = trips[0].start_at - max_date = trips[-1].start_at + # min_date = trips[0].start_at + # max_date = trips[-1].start_at + min_date, max_date = Database.get_range_timestamp() + logger.debug("min_date:%s - max_date:%s",min_date, max_date) min_millis = figures.unix_time_millis(min_date) max_millis = figures.unix_time_millis(max_date) step = (max_millis - min_millis) / 100 @@ -263,6 +265,8 @@ def update_trips(): cached_layout = None # force regenerate layout except (ValueError, IndexError): logger.error("update_trips (slider): %s", exc_info=True) + except AttributeError: + logger.debug("position table is probably empty :", exc_info=True) return