Skip to content

Commit bad703f

Browse files
committed
Add get_device_last_used and get_personal_record apis
1 parent ab75b80 commit bad703f

1 file changed

Lines changed: 20 additions & 3 deletions

File tree

garminconnect/__init__.py

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,15 @@ class Garmin(object):
2929
url_activities = MODERN_URL + \
3030
'/proxy/activitylist-service/activities/search/activities'
3131
url_activity = MODERN_URL + '/proxy/activity-service/activity/'
32+
url_personal_record = MODERN_URL + '/proxy/personalrecord-service/personalrecord/'
3233
url_tcx_download = MODERN_URL + "/proxy/download-service/export/tcx/activity/"
3334
url_gpx_download = MODERN_URL + "/proxy/download-service/export/gpx/activity/"
3435
url_kml_download = MODERN_URL + "/proxy/download-service/export/kml/activity/"
3536
url_fit_download = MODERN_URL + "/proxy/download-service/files/activity/"
3637
url_csv_download = MODERN_URL + "/proxy/download-service/export/csv/activity/"
3738
url_device_list = MODERN_URL + '/proxy/device-service/deviceregistration/devices'
38-
url_device_settings = MODERN_URL + \
39-
'/proxy/device-service/deviceservice/device-info/settings/'
39+
url_device_service = MODERN_URL + \
40+
'/proxy/device-service/deviceservice/'
4041

4142
headers = {
4243
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36',
@@ -369,6 +370,13 @@ def get_activity_details(self, activity_id, maxChartSize=2000, maxPolylineSize=4
369370

370371
return self.fetch_data(details_url)
371372

373+
def get_personal_record(self, owner_display_name):
374+
personal_records_url = f"{self.url_personal_record}prs/{owner_display_name}"
375+
self.logger.debug(
376+
f"Fetching prs for owner {owner_display_name}")
377+
378+
return self.fetch_data(personal_records_url)
379+
372380
def get_devices(self):
373381
"""
374382
Fetch available devices for the current account
@@ -383,10 +391,19 @@ def get_device_settings(self, device_id):
383391
"""
384392
Fetch device settings for current device
385393
"""
386-
devicesurl = f"{self.url_device_settings}{device_id}"
394+
devicesurl = f"{self.url_device_service}device-info/settings/{device_id}"
387395
self.logger.debug("Fetching device settings with url %s", devicesurl)
388396
return self.fetch_data(devicesurl)
389397

398+
def get_device_last_used(self):
399+
"""
400+
Fetch device last used
401+
"""
402+
device_last_used_url = f"{self.url_device_service}mylastused"
403+
self.logger.debug(
404+
"Fetching device last used with url %s", device_last_used_url)
405+
return self.fetch_data(device_last_used_url)
406+
390407
class ActivityDownloadFormat(Enum):
391408
ORIGINAL = auto()
392409
TCX = auto()

0 commit comments

Comments
 (0)