diff --git a/bluemaestro/__init__.py b/bluemaestro/__init__.py index ee000bc..55974b8 100755 --- a/bluemaestro/__init__.py +++ b/bluemaestro/__init__.py @@ -18,14 +18,18 @@ def get_logger(): return logging.getLogger('bluemaestro') -def get_temperature(): +def get_temperature(all_=False): logger = get_logger() - merged: Dict[datetime, Any] = {} - for f in list(sorted(chain( + backups = list(sorted(chain( DIR.glob('*.db'), DIR2.glob('*.db'), - ))): + ))) + if not all_: + backups = [backups[-1]] + + merged: Dict[datetime, Any] = {} + for f in backups: def reg(dt: datetime, value): v = merged.get(dt, None) if v is None: @@ -68,6 +72,9 @@ def get_temperature(): # print(k, v) return merged +def test(): + get_temperature(all_=False) + def main(): setup_logzero(get_logger(), level=logging.DEBUG) get_temperature() diff --git a/bluemaestro/check.py b/bluemaestro/check.py index 028d6d0..34861a6 100755 --- a/bluemaestro/check.py +++ b/bluemaestro/check.py @@ -8,17 +8,23 @@ from my.bluemaestro import get_temperature, get_logger def main(): setup_logzero(get_logger(), level=logging.DEBUG) - temps = get_temperature() + temps = get_temperature(all_=False) latest = sorted(temps.items())[:-2] prev, _ = latest[-2] last, _ = latest[-1] + + POINTS_STORED = 6000 + FREQ_SEC = 60 + SECS_STORED = POINTS_STORED * FREQ_SEC + HOURS_STORED = POINTS_STORED / (60 * 60 / FREQ_SEC) # around 4 days + NOW = datetime.now() + assert NOW - last < timedelta(hours=HOURS_STORED / 2), f'old backup! {last}' + + assert last - prev < timedelta(minutes=3), f'bad interval! {last - prev}' single = (last - prev).seconds - NOW = datetime.now() - assert NOW - last < timedelta(days=2), f'old backup! {last}' - # TODO change to 1 later? if __name__ == '__main__':