Skip to content

Commit f56c600

Browse files
committed
Refactor device_id type to UUID in multiple files and update related imports
1 parent e891251 commit f56c600

6 files changed

Lines changed: 13 additions & 15 deletions

File tree

redocs/source/examples.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ Command Handler
6363
6464
import asyncio
6565
from pymax import MaxClient
66+
from datetime import datetime
6667
from pymax.filters import Filters
6768
6869
client = MaxClient(phone="+79001234567")

src/pymax/core.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,10 @@
88
from collections.abc import Awaitable
99
from pathlib import Path
1010
from typing import TYPE_CHECKING, Any, Literal
11+
from uuid import UUID
1112

1213
from typing_extensions import Self, override
1314

14-
from pymax.filters import BaseFilter
15-
1615
from .crud import Database
1716
from .exceptions import (
1817
InvalidPhoneError,
@@ -29,13 +28,13 @@
2928
)
3029

3130
if TYPE_CHECKING:
32-
from collections.abc import Awaitable, Callable
33-
from typing import Any
34-
from uuid import UUID
31+
from collections.abc import Callable
3532

3633
import websockets
3734

38-
from .filters import filters
35+
from pymax.filters import BaseFilter
36+
37+
from .filters import Filters
3938
from .types import Channel, Chat, Dialog, Me, Message, ReactionInfo, User
4039

4140

@@ -92,7 +91,7 @@ def __init__(
9291
registration: bool = False,
9392
first_name: str = "",
9493
last_name: str | None = None,
95-
device_id: str | None = None,
94+
device_id: UUID | None = None,
9695
logger: logging.Logger | None = None,
9796
reconnect: bool = True,
9897
reconnect_delay: float = 1.0,

src/pymax/crud.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def get_auth_token(self) -> str | None:
2929
token = cast(str | None, session.exec(select(Auth.token)).first())
3030
return token
3131

32-
def get_device_id(self) -> str:
32+
def get_device_id(self) -> UUID:
3333
with self.get_session() as session:
3434
device_id = session.exec(select(Auth.device_id)).first()
3535

src/pymax/interfaces.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def __init__(self, logger: Logger) -> None:
3131
self._users: dict[int, User] = {}
3232
self.chats: list[Chat] = []
3333
self._database: Database
34-
self._device_id: str
34+
self._device_id: UUID
3535
self.uri: str
3636
self.is_connected: bool = False
3737
self.phone: str

src/pymax/mixins/message.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import asyncio
22
import time
33
from http import HTTPStatus
4-
from io import BytesIO
54
from pathlib import Path
65

76
import aiohttp
@@ -40,7 +39,6 @@
4039
FileRequest,
4140
Message,
4241
ReactionInfo,
43-
VideoAttach,
4442
VideoRequest,
4543
)
4644

@@ -257,7 +255,7 @@ async def _upload_video(self, video: Video) -> None | Attach:
257255
return None
258256
except OSError as e:
259257
if "malloc failure" in str(e) or "BUF" in str(e):
260-
self.logger.error(
258+
self.logger.exception(
261259
"Memory error during video upload. File too large or insufficient memory. Try uploading smaller files or free up memory."
262260
)
263261
self._file_upload_waiters.pop(int(video_id), None)
@@ -416,9 +414,9 @@ async def send_message(
416414

417415
elements = []
418416
clean_text = None
419-
raw_elements = Formatting.get_elements_from_markdown(text)[0]
417+
raw_elements, parsed_text = Formatting.get_elements_from_markdown(text)
420418
if raw_elements:
421-
clean_text = Formatting.get_elements_from_markdown(text)[1]
419+
clean_text = parsed_text
422420
elements = [
423421
MessageElement(type=e.type, length=e.length, from_=e.from_)
424422
for e in raw_elements

src/pymax/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55

66
class Auth(SQLModel, table=True):
77
token: str | None = None
8-
device_id: str = Field(default_factory=lambda: str(uuid4()), primary_key=True)
8+
device_id: UUID = Field(default_factory=uuid4, primary_key=True)

0 commit comments

Comments
 (0)