Use asyncio.Task.current_task for python 3.6

This commit is contained in:
miruka 2020-04-26 13:49:44 -04:00
parent 4961042bde
commit 8b8829af86

View File

@ -8,6 +8,7 @@ import io
import logging as log import logging as log
import platform import platform
import re import re
import sys
import traceback import traceback
from contextlib import suppress from contextlib import suppress
from copy import copy from copy import copy
@ -45,6 +46,11 @@ from .pyotherside_events import AlertRequested, LoopException
if TYPE_CHECKING: if TYPE_CHECKING:
from .backend import Backend from .backend import Backend
if sys.version_info >= (3, 7):
current_task = asyncio.current_task
else:
current_task = asyncio.Task.current_task
CryptDict = Dict[str, Any] CryptDict = Dict[str, Any]
@ -403,7 +409,7 @@ class MatrixClient(nio.AsyncClient):
self.models[room_id, "uploads"][str(item_uuid)] = upload_item self.models[room_id, "uploads"][str(item_uuid)] = upload_item
self.upload_monitors[item_uuid] = monitor self.upload_monitors[item_uuid] = monitor
self.upload_tasks[item_uuid] = asyncio.current_task() # type: ignore self.upload_tasks[item_uuid] = current_task() # type: ignore
def on_transferred(transferred: int) -> None: def on_transferred(transferred: int) -> None:
upload_item.uploaded = transferred upload_item.uploaded = transferred
@ -655,7 +661,7 @@ class MatrixClient(nio.AsyncClient):
"""Send a message event with `content` dict to a room.""" """Send a message event with `content` dict to a room."""
self.send_message_tasks[transaction_id] = \ self.send_message_tasks[transaction_id] = \
asyncio.current_task() # type: ignore current_task() # type: ignore
async with self.backend.send_locks[room_id]: async with self.backend.send_locks[room_id]:
await self.room_send( await self.room_send(