Skip to content

Commit b5cfafe

Browse files
committed
Fix types
1 parent 3187544 commit b5cfafe

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

reportportal_client/aio/tasks.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@
1313

1414
"""This module contains customized asynchronous Tasks and Task Factories for the ReportPortal client."""
1515

16+
import sys
1617
import asyncio
1718
from abc import abstractmethod
1819
from asyncio import Future
19-
from typing import Any, Coroutine, Generator, Generic, Optional, TypeVar
20+
from typing import Any, Coroutine, Generator, Generic, Optional, TypeVar, TypeAlias
2021

2122
# noinspection PyProtectedMember
2223
from reportportal_client._internal.static.abstract import AbstractBaseClass
@@ -28,6 +29,12 @@ class BlockingOperationError(RuntimeError):
2829
"""An issue with task blocking execution."""
2930

3031

32+
if sys.version_info >= (3, 12):
33+
_TaskCompatibleCoro: TypeAlias = Coroutine[Any, Any, Any]
34+
else:
35+
_TaskCompatibleCoro: TypeAlias = Generator[Future[object] | None, None, Any] | Coroutine[Any, Any, Any]
36+
37+
3138
class Task(Generic[_T], asyncio.Task, metaclass=AbstractBaseClass):
3239
"""Base class for ReportPortal client tasks.
3340
@@ -41,7 +48,7 @@ class Task(Generic[_T], asyncio.Task, metaclass=AbstractBaseClass):
4148

4249
def __init__(
4350
self,
44-
coro: Generator[Future[object] | None, None, Any] | Coroutine[Any, Any, Any],
51+
coro: _TaskCompatibleCoro,
4552
*,
4653
loop: asyncio.AbstractEventLoop,
4754
name: Optional[str] = None,

0 commit comments

Comments
 (0)