diff --git a/my/body/exercise/all.py b/my/body/exercise/all.py new file mode 100644 index 0000000..4fee9d3 --- /dev/null +++ b/my/body/exercise/all.py @@ -0,0 +1,17 @@ +''' +Combined exercise data +''' +from ...core.pandas import DataFrameT, check_dataframe + + +@check_dataframe +def dataframe() -> DataFrameT: + # this should be somehow more flexible... + from ...endomondo import dataframe as EDF + from ...runnerup import dataframe as RDF + + import pandas as pd # type: ignore + return pd.concat([ + EDF(), + RDF(), + ]) diff --git a/my/body/exercise/cardio.py b/my/body/exercise/cardio.py index 1879814..083b972 100644 --- a/my/body/exercise/cardio.py +++ b/my/body/exercise/cardio.py @@ -1,7 +1,7 @@ ''' -Cardio data, filtered from Endomondo and inferred from other data sources +Cardio data, filtered from various data sources ''' -from ...core.pandas import DataFrameT, check_dataframe as cdf +from ...core.pandas import DataFrameT, check_dataframe CARDIO = { @@ -21,12 +21,12 @@ NOT_CARDIO = { } -@cdf -def endomondo_cardio() -> DataFrameT: +@check_dataframe +def dataframe() -> DataFrameT: assert len(CARDIO.intersection(NOT_CARDIO)) == 0, (CARDIO, NOT_CARDIO) - from ...endomondo import dataframe as EDF - df = EDF() + from .all import dataframe as DF + df = DF() # not sure... # df = df[df['heart_rate_avg'].notna()] @@ -42,7 +42,3 @@ def endomondo_cardio() -> DataFrameT: df = df[is_cardio | neither] return df - - -def dataframe() -> DataFrameT: - return endomondo_cardio()