diff --git a/check b/check index b6207e1..0477a01 100755 --- a/check +++ b/check @@ -3,7 +3,13 @@ from datetime import datetime, timedelta from rescuetime import get_rescuetime -rs = get_rescuetime(latest=1) -latest_dt = rs[-1].dt -assert (datetime.now() - latest_dt) < timedelta(days=1) +def main(): + rs = get_rescuetime(latest=1) + latest_dt = rs[-1].dt + + assert (datetime.now() - latest_dt) < timedelta(days=1) + + +if __name__ == '__main__': + main() diff --git a/rescuetime/__init__.py b/rescuetime/__init__.py index 3f81d1a..dd9b9ba 100644 --- a/rescuetime/__init__.py +++ b/rescuetime/__init__.py @@ -2,7 +2,7 @@ import logging from pathlib import Path import json from datetime import datetime, timedelta -from typing import NamedTuple, Dict, List, Set +from typing import NamedTuple, Dict, List, Set, Optional from functools import lru_cache @@ -47,11 +47,15 @@ class Entry(NamedTuple): return Entry(dt=dt, duration_s=dur, activity=activity) -@lru_cache() -def get_rescuetime(latest=None): +@lru_cache(1) +def get_rescuetime(latest: Optional[int]=None): + if latest is None: + latest = 0 + entries: Set[Entry] = set() - for fp in list(sorted(_PATH.glob('*.json')))[(0 if latest is None else -latest):]: + # pylint: disable=invalid-unary-operand-type + for fp in list(sorted(_PATH.glob('*.json')))[-latest:]: j = try_load(fp) if j is None: continue diff --git a/rescuetime/__main__.py b/rescuetime/__main__.py index 5568d64..2e5edbd 100644 --- a/rescuetime/__main__.py +++ b/rescuetime/__main__.py @@ -2,15 +2,18 @@ from kython.klogging import setup_logzero from . import get_logger, get_groups, get_rescuetime, fill_influxdb -logger = get_logger() -setup_logzero(logger) +def main(): + logger = get_logger() + setup_logzero(logger) -# for gr in get_groups(): -# print(f"{gr[0].dt}--{gr[-1].dt}") -# for e in get_rescuetime(latest=2): -# print(e) -fill_influxdb() + # for gr in get_groups(): + # print(f"{gr[0].dt}--{gr[-1].dt}") + # for e in get_rescuetime(latest=2): + # print(e) + fill_influxdb() -# TODO merged db? -# TODO ok, it summarises my sleep intervals pretty well. I guess should adjust it for the fact I don't sleep during the day, and it would be ok! + # TODO merged db? + # TODO ok, it summarises my sleep intervals pretty well. I guess should adjust it for the fact I don't sleep during the day, and it would be ok! +if __name__ == '__main__': + main()