mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-03-06 20:25:52 +03:00
Add missing timezone info in important places
Things like SQLAlchemy work correctly only for timezone-aware datetimes. The returned TLObjects all have them, but those that are manually created were missing them, so serializing the state into SQLAlchemy sessions failed.
This commit is contained in:
parent
86a8928278
commit
10cd61d2f9
|
@ -359,7 +359,7 @@ class AuthMethods(MessageParseMethods, UserMethods):
|
|||
# `catch_up` on all updates (and obtain necessary access hashes)
|
||||
# if they desire. The date parameter is ignored when pts = 1.
|
||||
self._state.pts = 1
|
||||
self._state.date = datetime.datetime.now()
|
||||
self._state.date = datetime.datetime.now(tz=datetime.timezone.utc)
|
||||
|
||||
return user
|
||||
|
||||
|
@ -417,7 +417,9 @@ class AuthMethods(MessageParseMethods, UserMethods):
|
|||
self._bot = None
|
||||
self._self_input_peer = None
|
||||
self._authorized = False
|
||||
self._state = types.updates.State(0, 0, datetime.datetime.now(), 0, 0)
|
||||
self._state = types.updates.State(
|
||||
0, 0, datetime.datetime.now(tz=datetime.timezone.utc), 0, 0)
|
||||
|
||||
self.disconnect()
|
||||
self.session.delete()
|
||||
return True
|
||||
|
|
|
@ -4,7 +4,7 @@ import logging
|
|||
import platform
|
||||
import sys
|
||||
import time
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
|
||||
from .. import version, __name__ as __base_name__
|
||||
from ..crypto import rsa
|
||||
|
@ -296,8 +296,10 @@ class TelegramBaseClient(abc.ABC):
|
|||
self._dispatching_updates_queue = None
|
||||
|
||||
self._authorized = None # None = unknown, False = no, True = yes
|
||||
self._state = (self.session.get_update_state(0)
|
||||
or types.updates.State(0, 0, datetime.now(), 0, 0))
|
||||
self._state = self.session.get_update_state(0)
|
||||
if not self._state:
|
||||
self._state = types.updates.State(
|
||||
0, 0, datetime.now(tz=timezone.utc), 0, 0)
|
||||
|
||||
# Some further state for subclasses
|
||||
self._event_builders = []
|
||||
|
|
|
@ -159,7 +159,7 @@ class Draft:
|
|||
self._raw_text = raw_text
|
||||
self.link_preview = link_preview
|
||||
self.reply_to_msg_id = reply_to
|
||||
self.date = datetime.datetime.now()
|
||||
self.date = datetime.datetime.now(tz=datetime.timezone.utc)
|
||||
|
||||
return result
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user