diff --git a/my/location/common.py b/my/location/common.py index b0676ec..b615971 100644 --- a/my/location/common.py +++ b/my/location/common.py @@ -1,5 +1,6 @@ from datetime import date, datetime from typing import Union, Tuple, NamedTuple, Optional +from dataclasses import dataclass from my.core import __NOT_HPI_MODULE__ @@ -9,9 +10,12 @@ LatLon = Tuple[float, float] # TODO: add timezone to this? can use timezonefinder in tz provider instead though + +@dataclass class Location(NamedTuple): lat: float lon: float dt: datetime accuracy: Optional[float] elevation: Optional[float] + datasource: Optional[str] = None # which module provided this, useful for debugging diff --git a/my/location/fallback/all.py b/my/location/fallback/all.py new file mode 100644 index 0000000..e69de29 diff --git a/my/location/home.py b/my/location/fallback/via_home.py similarity index 98% rename from my/location/home.py rename to my/location/fallback/via_home.py index ac0fcb8..3f09b13 100644 --- a/my/location/home.py +++ b/my/location/fallback/via_home.py @@ -1,6 +1,7 @@ ''' Simple location provider, serving as a fallback when more detailed data isn't available ''' + from dataclasses import dataclass from datetime import datetime, time, timezone from functools import lru_cache @@ -51,7 +52,7 @@ class Config(user_config): return res -from ..core.cfg import make_config +from ...core.cfg import make_config config = make_config(Config)