Make type hints compatible with Python 3.8

This commit is contained in:
Joscha 2021-04-29 13:11:58 +02:00
parent 8da1ac6cee
commit c4fb92c658
2 changed files with 10 additions and 8 deletions

View File

@ -1,8 +1,9 @@
import asyncio
from contextlib import (AbstractAsyncContextManager, AbstractContextManager,
asynccontextmanager, contextmanager)
from contextlib import asynccontextmanager, contextmanager
from pathlib import Path
from typing import AsyncIterator, Iterator, List, Optional
# TODO If we upgrade to python 3.9, these context manager hints are deprecated
from typing import (AsyncContextManager, AsyncIterator, ContextManager,
Iterator, List, Optional)
import rich
from rich.markup import escape
@ -59,7 +60,7 @@ class TerminalConductor:
finally:
self.start()
def exclusive_output(self) -> AbstractAsyncContextManager[None]:
def exclusive_output(self) -> AsyncContextManager[None]:
return self._exclusive_output_cm()
@contextmanager
@ -79,5 +80,5 @@ class TerminalConductor:
self,
description: Path,
steps: Optional[float],
) -> AbstractContextManager[ProgressBar]:
) -> ContextManager[ProgressBar]:
return self._progress_bar_cm(escape(str(description)), steps=steps)

View File

@ -1,6 +1,7 @@
import asyncio
from contextlib import AbstractAsyncContextManager, asynccontextmanager
from typing import AsyncIterator
from contextlib import asynccontextmanager
# TODO If we upgrade to python 3.9, this context manager hint is deprecated
from typing import AsyncContextManager, AsyncIterator
class Limiter:
@ -15,5 +16,5 @@ class Limiter:
finally:
self._semaphore.release()
def limit(self) -> AbstractAsyncContextManager[None]:
def limit(self) -> AsyncContextManager[None]:
return self._context_manager()