Skip to content

Commit fe833f1

Browse files
authored
Merge pull request #269 from MerginMaps/auth_logging
Add auth logging
2 parents 33aa6cf + 2ee16c4 commit fe833f1

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

mergin/client.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -214,12 +214,14 @@ def user_agent_info(self):
214214

215215
def validate_auth(self):
216216
"""Validate that client has valid auth token or can be logged in."""
217-
218217
if self._auth_session:
219218
# Refresh auth token if it expired or will expire very soon
220-
delta = self._auth_session["expire"] - datetime.now(timezone.utc)
221-
if delta.total_seconds() < 5:
222-
self.log.info("Token has expired - refreshing...")
219+
expire = self._auth_session.get("expire")
220+
now = datetime.now(timezone.utc)
221+
delta = expire - now
222+
delta_seconds = delta.total_seconds()
223+
if delta_seconds < 5:
224+
self.log.debug(f"Token has expired: expire={expire} now={now} delta={delta_seconds:.1f}s")
223225
if self._auth_params.get("login", None) and self._auth_params.get("password", None):
224226
self.log.info("Token has expired - refreshing...")
225227
self.login(self._auth_params["login"], self._auth_params["password"])
@@ -318,7 +320,6 @@ def login(self, login, password):
318320
:type password: String
319321
"""
320322
params = {"login": login, "password": password}
321-
self._auth_session = None
322323
self.log.info(f"Going to log in user {login}")
323324
try:
324325
resp = self.post(
@@ -329,12 +330,14 @@ def login(self, login, password):
329330
except ClientError as e:
330331
self.log.info(f"Login problem: {e.detail}")
331332
raise LoginError(e.detail)
333+
expires = dateutil.parser.parse(session["expire"])
332334
self._auth_session = {
333335
"token": f"Bearer {session['token']}",
334-
"expire": dateutil.parser.parse(session["expire"]),
336+
"expire": expires,
335337
}
336338
self._user_info = {"username": data["username"]}
337339
self.log.info(f"User {data['username']} successfully logged in.")
340+
self.log.debug(f"The auth token expires at {expires}")
338341
return session
339342

340343
def username(self):

mergin/merginproject.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ def get_push_changes(self):
427427
file["checksum"] = checksum
428428
file["chunks"] = [str(uuid.uuid4()) for i in range(math.ceil(file["size"] / UPLOAD_CHUNK_SIZE))]
429429

430-
# need to check for for real changes in geodiff files using geodiff tool (comparing checksum is not enough)
430+
# need to check for real changes in geodiff files using geodiff tool (comparing checksum is not enough)
431431
not_updated = []
432432
for file in changes["updated"]:
433433
path = file["path"]

0 commit comments

Comments
 (0)