Skip to content

Commit 262e1e2

Browse files
committed
Small fixes
1 parent 170de58 commit 262e1e2

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,11 @@ from garminconnect import (
2929
today = date.today()
3030

3131

32+
client = Garmin(YOUR_EMAIL, YOUR_PASSWORD)
33+
3234
"""Login to portal using specified credentials"""
3335
try:
34-
client = Garmin(YOUR_EMAIL, YOUR_PASSWORD)
36+
client.login()
3537
except (
3638
GarminConnectConnectionError,
3739
GarminConnectAuthenticationError,

garminconnect/__init__.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,12 @@ def __init__(self, email, password):
3232
self.password = password
3333
self.req = requests.session()
3434
self.logger = logging.getLogger(__name__)
35+
self.display_name = ""
36+
self.full_name = ""
37+
self.unit_system = ""
3538

36-
self.login(self.email, self.password)
3739

38-
def login(self, email, password):
40+
def login(self):
3941
"""
4042
Login to portal
4143
"""
@@ -63,8 +65,8 @@ def login(self, email, password):
6365
}
6466

6567
data = {
66-
'username': email,
67-
'password': password,
68+
'username': self.email,
69+
'password': self.password,
6870
'embed': 'true',
6971
'lt': 'e1s1',
7072
'_eventId': 'submit',
@@ -112,6 +114,7 @@ def login(self, email, password):
112114
self.logger.debug("Fullname is %s", self.full_name)
113115
response.raise_for_status()
114116

117+
115118
def parse_json(self, html, key):
116119
"""
117120
Find and return json data
@@ -121,18 +124,21 @@ def parse_json(self, html, key):
121124
text = found.group(1).replace('\\"', '"')
122125
return json.loads(text)
123126

127+
124128
def get_full_name(self):
125129
"""
126130
Return full name
127131
"""
128132
return self.full_name
129133

134+
130135
def get_unit_system(self):
131136
"""
132137
Return unit system
133138
"""
134139
return self.unit_system
135140

141+
136142
def get_stats(self, cdate): # cDate = 'YYY-mm-dd'
137143
"""
138144
Fetch available activity data
@@ -151,7 +157,7 @@ def get_stats(self, cdate): # cDate = 'YYY-mm-dd'
151157

152158
if response.json()['privacyProtected'] is True:
153159
self.logger.debug("Session expired - trying relogin")
154-
self.login(self.email, self.password)
160+
self.login()
155161
try:
156162
response = self.req.get(acturl, headers=self.headers)
157163
self.logger.debug("Activities response code %s, and json %s", response.status_code, response.json())
@@ -162,6 +168,7 @@ def get_stats(self, cdate): # cDate = 'YYY-mm-dd'
162168

163169
return response.json()
164170

171+
165172
def get_heart_rates(self, cdate): # cDate = 'YYYY-mm-dd'
166173
"""
167174
Fetch available heart rates data
@@ -174,7 +181,7 @@ def get_heart_rates(self, cdate): # cDate = 'YYYY-mm-dd'
174181
response.raise_for_status()
175182
except requests.exceptions.HTTPError as err:
176183
self.logger.debug("Exception occured during heart rate retrieval - perhaps session expired - trying relogin: %s" % err)
177-
self.login(self.email, self.password)
184+
self.login()
178185
try:
179186
response = self.req.get(hearturl, headers=self.headers)
180187
self.logger.debug("Heart Rates response code %s, and json %s", response.status_code, response.json())
@@ -197,6 +204,7 @@ def __init__(self, status):
197204
super(GarminConnectConnectionError, self).__init__(status)
198205
self.status = status
199206

207+
200208
class GarminConnectTooManyRequestsError(Exception):
201209
"""Raised when rate limit is exceeded."""
202210

@@ -205,6 +213,7 @@ def __init__(self, status):
205213
super(GarminConnectTooManyRequestsError, self).__init__(status)
206214
self.status = status
207215

216+
208217
class GarminConnectAuthenticationError(Exception):
209218
"""Raised when login returns wrong result."""
210219

garminconnect/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# -*- coding: utf-8 -*-
22
"""Python 3 API wrapper for Garmin Connect to get your statistics."""
33

4-
__version__ = "0.1.7"
4+
__version__ = "0.1.8"

0 commit comments

Comments
 (0)