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 import asyncio
from contextlib import (AbstractAsyncContextManager, AbstractContextManager, from contextlib import asynccontextmanager, contextmanager
asynccontextmanager, contextmanager)
from pathlib import Path 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 import rich
from rich.markup import escape from rich.markup import escape
@ -59,7 +60,7 @@ class TerminalConductor:
finally: finally:
self.start() self.start()
def exclusive_output(self) -> AbstractAsyncContextManager[None]: def exclusive_output(self) -> AsyncContextManager[None]:
return self._exclusive_output_cm() return self._exclusive_output_cm()
@contextmanager @contextmanager
@ -79,5 +80,5 @@ class TerminalConductor:
self, self,
description: Path, description: Path,
steps: Optional[float], steps: Optional[float],
) -> AbstractContextManager[ProgressBar]: ) -> ContextManager[ProgressBar]:
return self._progress_bar_cm(escape(str(description)), steps=steps) return self._progress_bar_cm(escape(str(description)), steps=steps)

View File

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