Skip to content

Commit b59bf36

Browse files
committed
Fix token handling and improve logging in MaxClient and AuthMixin
1 parent f56c600 commit b59bf36

2 files changed

Lines changed: 11 additions & 4 deletions

File tree

src/pymax/core.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from __future__ import annotations
2+
13
import asyncio
24
import contextlib
35
import logging
@@ -343,8 +345,10 @@ async def login_with_code(
343345
"""
344346
resp = await self._send_code(code, temp_token)
345347
token = resp.get("tokenAttrs", {}).get("LOGIN", {}).get("token")
348+
if not token:
349+
raise ValueError("Login response did not contain tokenAttrs.LOGIN.token")
346350
self._token = token
347-
self._database.update_auth_token(self._device_id, token)
351+
self._database.update_auth_token(str(self._device_id), token)
348352
if start:
349353
while True:
350354
try:
@@ -381,7 +385,7 @@ async def start(self) -> None:
381385
await self._register(self.first_name, self.last_name)
382386

383387
if self._token and self._database.get_auth_token() is None:
384-
self._database.update_auth_token(self._device_id, self._token)
388+
self._database.update_auth_token(str(self._device_id), self._token)
385389

386390
if self._token is None:
387391
await self._login()
@@ -424,7 +428,10 @@ def inspect(self) -> None:
424428
self.logger.info("Pymax")
425429
self.logger.info("---------")
426430
self.logger.info(f"Connected: {self.is_connected}")
427-
self.logger.info(f"Me: {self.me.names[0].first_name} ({self.me.id})")
431+
if self.me is not None:
432+
self.logger.info(f"Me: {self.me.names[0].first_name} ({self.me.id})")
433+
else:
434+
self.logger.info("Me: N/A")
428435
self.logger.info(f"Dialogs: {len(self.dialogs)}")
429436
self.logger.info(f"Chats: {len(self.chats)}")
430437
self.logger.info(f"Channels: {len(self.channels)}")

src/pymax/mixins/auth.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ async def _login(self) -> None:
152152
raise ValueError("Failed to login, token not received")
153153

154154
self._token = token
155-
self._database.update_auth_token(self._device_id, self._token)
155+
self._database.update_auth_token(str(self._device_id), self._token)
156156
self.logger.info("Login successful, token saved to database")
157157

158158
async def _submit_reg_info(

0 commit comments

Comments
 (0)