Skip to content

Commit aafba86

Browse files
committed
[core] Validate session expiry time before skipping login
1 parent 5d4beeb commit aafba86

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

legendary/core.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,8 +180,16 @@ def login(self) -> bool:
180180
"""
181181
if not self.lgd.userdata:
182182
raise ValueError('No saved credentials')
183-
elif self.logged_in:
184-
return True
183+
elif self.logged_in and self.lgd.userdata['expires_at']:
184+
dt_exp = datetime.fromisoformat(self.lgd.userdata['expires_at'][:-1])
185+
dt_now = datetime.utcnow()
186+
td = dt_now - dt_exp
187+
188+
# if session still has at least 10 minutes left we can re-use it.
189+
if dt_exp > dt_now and abs(td.total_seconds()) > 600:
190+
return True
191+
else:
192+
self.logged_in = False
185193

186194
# run update check
187195
if self.update_check_enabled():

0 commit comments

Comments
 (0)