mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2026-09-07 01:11:56 +00:00
Stop using asyncio.get_event_loop()
It is deprecated in newer Python versions. Closes #4013.
This commit is contained in:
@@ -192,7 +192,7 @@ class TelegramBaseClient(abc.ABC):
|
||||
Defaults to `lang_code`.
|
||||
|
||||
loop (`asyncio.AbstractEventLoop`, optional):
|
||||
Asyncio event loop to use. Defaults to `asyncio.get_event_loop()`.
|
||||
Asyncio event loop to use. Defaults to `asyncio.get_running_loop()`.
|
||||
This argument is ignored.
|
||||
|
||||
base_logger (`str` | `logging.Logger`, optional):
|
||||
@@ -470,7 +470,7 @@ class TelegramBaseClient(abc.ABC):
|
||||
# Join the task (wait for it to complete)
|
||||
await task
|
||||
"""
|
||||
return asyncio.get_event_loop()
|
||||
return helpers.get_running_loop()
|
||||
|
||||
@property
|
||||
def disconnected(self: 'TelegramClient') -> asyncio.Future:
|
||||
|
||||
@@ -4,7 +4,7 @@ import re
|
||||
import asyncio
|
||||
|
||||
from .common import EventBuilder, EventCommon, name_inner_event
|
||||
from .. import utils
|
||||
from .. import utils, helpers
|
||||
from ..tl import types, functions, custom
|
||||
from ..tl.custom.sendergetter import SenderGetter
|
||||
|
||||
@@ -242,6 +242,6 @@ class InlineQuery(EventBuilder):
|
||||
if inspect.isawaitable(obj):
|
||||
return asyncio.ensure_future(obj)
|
||||
|
||||
f = asyncio.get_event_loop().create_future()
|
||||
f = helpers.get_running_loop().create_future()
|
||||
f.set_result(obj)
|
||||
return f
|
||||
|
||||
+8
-5
@@ -153,7 +153,7 @@ def retry_range(retries, force_retry=True):
|
||||
while attempt != retries:
|
||||
attempt += 1
|
||||
yield attempt
|
||||
|
||||
|
||||
|
||||
|
||||
async def _maybe_await(value):
|
||||
@@ -426,7 +426,10 @@ class _FileStream(io.IOBase):
|
||||
# endregion
|
||||
|
||||
def get_running_loop():
|
||||
if sys.version_info[:2] <= (3, 6):
|
||||
return asyncio._get_running_loop()
|
||||
|
||||
return asyncio.get_running_loop()
|
||||
if sys.version_info >= (3, 7):
|
||||
try:
|
||||
return asyncio.get_running_loop()
|
||||
except RuntimeError:
|
||||
return asyncio.get_event_loop_policy().get_event_loop()
|
||||
else:
|
||||
return asyncio.get_event_loop()
|
||||
|
||||
@@ -155,7 +155,7 @@ class Connection(abc.ABC):
|
||||
|
||||
# Actual TCP connection is performed here.
|
||||
await asyncio.wait_for(
|
||||
asyncio.get_event_loop().sock_connect(sock=sock, address=address),
|
||||
helpers.get_running_loop().sock_connect(sock=sock, address=address),
|
||||
timeout=timeout
|
||||
)
|
||||
|
||||
@@ -190,7 +190,7 @@ class Connection(abc.ABC):
|
||||
|
||||
# Actual TCP connection and negotiation performed here.
|
||||
await asyncio.wait_for(
|
||||
asyncio.get_event_loop().sock_connect(sock=sock, address=address),
|
||||
helpers.get_running_loop().sock_connect(sock=sock, address=address),
|
||||
timeout=timeout
|
||||
)
|
||||
|
||||
@@ -244,7 +244,7 @@ class Connection(abc.ABC):
|
||||
await self._connect(timeout=timeout, ssl=ssl)
|
||||
self._connected = True
|
||||
|
||||
loop = asyncio.get_event_loop()
|
||||
loop = helpers.get_running_loop()
|
||||
self._send_task = loop.create_task(self._send_loop())
|
||||
self._recv_task = loop.create_task(self._recv_loop())
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ class MTProtoSender:
|
||||
# pending futures should be cancelled.
|
||||
self._user_connected = False
|
||||
self._reconnecting = False
|
||||
self._disconnected = asyncio.get_event_loop().create_future()
|
||||
self._disconnected = helpers.get_running_loop().create_future()
|
||||
self._disconnected.set_result(None)
|
||||
|
||||
# We need to join the loops upon disconnection
|
||||
@@ -261,7 +261,7 @@ class MTProtoSender:
|
||||
await self._disconnect(error=e)
|
||||
raise e
|
||||
|
||||
loop = asyncio.get_event_loop()
|
||||
loop = helpers.get_running_loop()
|
||||
self._log.debug('Starting send loop')
|
||||
self._send_loop_handle = loop.create_task(self._send_loop())
|
||||
|
||||
@@ -400,7 +400,7 @@ class MTProtoSender:
|
||||
self._pending_state.clear()
|
||||
|
||||
if self._auto_reconnect_callback:
|
||||
asyncio.get_event_loop().create_task(self._auto_reconnect_callback())
|
||||
helpers.get_running_loop().create_task(self._auto_reconnect_callback())
|
||||
|
||||
break
|
||||
else:
|
||||
@@ -425,7 +425,7 @@ class MTProtoSender:
|
||||
# gets stuck.
|
||||
# TODO It still gets stuck? Investigate where and why.
|
||||
self._reconnecting = True
|
||||
asyncio.get_event_loop().create_task(self._reconnect(error))
|
||||
helpers.get_running_loop().create_task(self._reconnect(error))
|
||||
|
||||
def _keepalive_ping(self, rnd_id):
|
||||
"""
|
||||
|
||||
+2
-2
@@ -14,7 +14,7 @@ import asyncio
|
||||
import functools
|
||||
import inspect
|
||||
|
||||
from . import events, errors, utils, connection
|
||||
from . import events, errors, utils, connection, helpers
|
||||
from .client.account import _TakeoutClient
|
||||
from .client.telegramclient import TelegramClient
|
||||
from .tl import types, functions, custom
|
||||
@@ -32,7 +32,7 @@ def _syncify_wrap(t, method_name):
|
||||
@functools.wraps(method)
|
||||
def syncified(*args, **kwargs):
|
||||
coro = method(*args, **kwargs)
|
||||
loop = asyncio.get_event_loop()
|
||||
loop = helpers.get_running_loop()
|
||||
if loop.is_running():
|
||||
return coro
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user