mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-06-17 10:36:37 +00:00
Remove missed async keywords from the revert
This should've been in 7d21b40401
.
This completes the revert of async sessions.
This commit is contained in:
parent
e87e6738b5
commit
48d7dbe90b
@ -398,11 +398,6 @@ class TelegramBaseClient(abc.ABC):
|
|||||||
|
|
||||||
self._authorized = None # None = unknown, False = no, True = yes
|
self._authorized = None # None = unknown, False = no, True = yes
|
||||||
|
|
||||||
# Update state (for catching up after a disconnection)
|
|
||||||
# TODO Get state from channels too
|
|
||||||
self._state_cache = StateCache(
|
|
||||||
self.session.get_update_state(0), self._log)
|
|
||||||
|
|
||||||
# Some further state for subclasses
|
# Some further state for subclasses
|
||||||
self._event_builders = []
|
self._event_builders = []
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ class Session(ABC):
|
|||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
async def get_update_states(self):
|
def get_update_states(self):
|
||||||
"""
|
"""
|
||||||
Returns an iterable over all known pairs of ``(entity ID, update state)``.
|
Returns an iterable over all known pairs of ``(entity ID, update state)``.
|
||||||
"""
|
"""
|
||||||
|
@ -77,7 +77,7 @@ class MemorySession(Session):
|
|||||||
def set_update_state(self, entity_id, state):
|
def set_update_state(self, entity_id, state):
|
||||||
self._update_states[entity_id] = state
|
self._update_states[entity_id] = state
|
||||||
|
|
||||||
async def get_update_states(self):
|
def get_update_states(self):
|
||||||
return self._update_states.items()
|
return self._update_states.items()
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
|
@ -215,7 +215,7 @@ class SQLiteSession(MemorySession):
|
|||||||
entity_id, state.pts, state.qts,
|
entity_id, state.pts, state.qts,
|
||||||
state.date.timestamp(), state.seq)
|
state.date.timestamp(), state.seq)
|
||||||
|
|
||||||
async def get_update_states(self):
|
def get_update_states(self):
|
||||||
c = self._cursor()
|
c = self._cursor()
|
||||||
try:
|
try:
|
||||||
rows = c.execute('select id, pts, qts, date, seq from update_state').fetchall()
|
rows = c.execute('select id, pts, qts, date, seq from update_state').fetchall()
|
||||||
@ -332,7 +332,7 @@ class SQLiteSession(MemorySession):
|
|||||||
return self._execute(
|
return self._execute(
|
||||||
'select id, hash from entities where name = ?', name)
|
'select id, hash from entities where name = ?', name)
|
||||||
|
|
||||||
async def get_entity_rows_by_id(self, id, exact=True):
|
def get_entity_rows_by_id(self, id, exact=True):
|
||||||
if exact:
|
if exact:
|
||||||
return self._execute(
|
return self._execute(
|
||||||
'select id, hash from entities where id = ?', id)
|
'select id, hash from entities where id = ?', id)
|
||||||
|
@ -11,15 +11,6 @@ _STRUCT_PREFORMAT = '>B{}sH256s'
|
|||||||
CURRENT_VERSION = '1'
|
CURRENT_VERSION = '1'
|
||||||
|
|
||||||
|
|
||||||
class _AsyncString(str):
|
|
||||||
"""
|
|
||||||
Ugly hack to enable awaiting strings.
|
|
||||||
"""
|
|
||||||
def __await__(self):
|
|
||||||
yield
|
|
||||||
return self
|
|
||||||
|
|
||||||
|
|
||||||
class StringSession(MemorySession):
|
class StringSession(MemorySession):
|
||||||
"""
|
"""
|
||||||
This session file can be easily saved and loaded as a string. According
|
This session file can be easily saved and loaded as a string. According
|
||||||
@ -59,17 +50,14 @@ class StringSession(MemorySession):
|
|||||||
return base64.urlsafe_b64decode(x)
|
return base64.urlsafe_b64decode(x)
|
||||||
|
|
||||||
def save(self: Session):
|
def save(self: Session):
|
||||||
# save should be async but that would break code which relies on sync StringSession.
|
|
||||||
# Return a type which behaves like a string for all intents and purposes, but can be awaited.
|
|
||||||
# The await is necessary for the library to save all sessions in the same way.
|
|
||||||
if not self.auth_key:
|
if not self.auth_key:
|
||||||
return _AsyncString('')
|
return ''
|
||||||
|
|
||||||
ip = ipaddress.ip_address(self.server_address).packed
|
ip = ipaddress.ip_address(self.server_address).packed
|
||||||
return _AsyncString(CURRENT_VERSION + StringSession.encode(struct.pack(
|
return CURRENT_VERSION + StringSession.encode(struct.pack(
|
||||||
_STRUCT_PREFORMAT.format(len(ip)),
|
_STRUCT_PREFORMAT.format(len(ip)),
|
||||||
self.dc_id,
|
self.dc_id,
|
||||||
ip,
|
ip,
|
||||||
self.port,
|
self.port,
|
||||||
self.auth_key.key
|
self.auth_key.key
|
||||||
)))
|
))
|
||||||
|
Loading…
Reference in New Issue
Block a user