Skip to content

Commit 58734a1

Browse files
committed
Added method to get training status
1 parent 51bbcde commit 58734a1

4 files changed

Lines changed: 21 additions & 3 deletions

File tree

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,8 @@ menu_options = {
133133
"7": f"Get stats and body composition data for '{today.isoformat()}'",
134134
"8": f"Get steps data for '{today.isoformat()}'",
135135
"9": f"Get heart rate data for '{today.isoformat()}'",
136-
"0": f"Get training readiness for '{today.isoformat()}'",
136+
"0": f"Get training readiness data for '{today.isoformat()}'",
137+
".": f"Get training status data for '{today.isoformat()}'",
137138
"a": f"Get resting heart rate data for {today.isoformat()}'",
138139
"b": f"Get hydration data for '{today.isoformat()}'",
139140
"c": f"Get sleep data for '{today.isoformat()}'",
@@ -268,6 +269,9 @@ def switch(api, i):
268269
elif i == "0":
269270
# Get training readiness data for 'YYYY-MM-DD'
270271
logger.info(api.get_training_readiness(today.isoformat()))
272+
elif i == ".":
273+
# Get training status data for 'YYYY-MM-DD'
274+
logger.info(api.get_training_status(today.isoformat()))
271275
elif i == "a":
272276
# Get resting heart rate data for 'YYYY-MM-DD'
273277
logger.info(api.get_rhr_day(today.isoformat()))

example.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@
5252
"7": f"Get stats and body composition data for '{today.isoformat()}'",
5353
"8": f"Get steps data for '{today.isoformat()}'",
5454
"9": f"Get heart rate data for '{today.isoformat()}'",
55-
"0": f"Get training readiness for '{today.isoformat()}'",
55+
"0": f"Get training readiness data for '{today.isoformat()}'",
56+
".": f"Get training status data for '{today.isoformat()}'",
5657
"a": f"Get resting heart rate data for {today.isoformat()}'",
5758
"b": f"Get hydration data for '{today.isoformat()}'",
5859
"c": f"Get sleep data for '{today.isoformat()}'",
@@ -187,6 +188,9 @@ def switch(api, i):
187188
elif i == "0":
188189
# Get training readiness data for 'YYYY-MM-DD'
189190
logger.info(api.get_training_readiness(today.isoformat()))
191+
elif i == ".":
192+
# Get training status data for 'YYYY-MM-DD'
193+
logger.info(api.get_training_status(today.isoformat()))
190194
elif i == "a":
191195
# Get resting heart rate data for 'YYYY-MM-DD'
192196
logger.info(api.get_rhr_day(today.isoformat()))

garminconnect/__init__.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,8 @@ def __init__(self, email=None, password=None, is_cn=False, session_data=None):
175175

176176
self.garmin_connect_training_readiness_url = "proxy/metrics-service/metrics/trainingreadiness"
177177

178+
self.garmin_connect_training_status_url = "proxy/metrics-service/metrics/trainingstatus/aggregated"
179+
178180
self.garmin_connect_user_summary_chart = (
179181
"proxy/wellness-service/wellness/dailySummaryChart"
180182
)
@@ -582,6 +584,14 @@ def get_training_readiness(self, cdate: str) -> Dict[str, Any]:
582584

583585
return self.modern_rest_client.get(url).json()
584586

587+
def get_training_status(self, cdate: str) -> Dict[str, Any]:
588+
"""Return training status data for current user."""
589+
590+
url = f"{self.garmin_connect_training_status_url}/{cdate}"
591+
logger.debug("Requesting training status data")
592+
593+
return self.modern_rest_client.get(url).json()
594+
585595
def get_devices(self) -> Dict[str, Any]:
586596
"""Return available devices for the current user account."""
587597

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,5 @@ def read(*parts):
3535
long_description=readme,
3636
url="https://github.com/cyberjunky/python-garminconnect",
3737
packages=["garminconnect"],
38-
version="0.1.46"
38+
version="0.1.47"
3939
)

0 commit comments

Comments
 (0)