Commit 4bce2a75 authored by Dom Sekotill's avatar Dom Sekotill
Browse files

Refactor proc to remove TypeError

parent 4d4d6b51
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ from subprocess import PIPE
from subprocess import CalledProcessError
from typing import IO
from typing import Any
from typing import BinaryIO
from typing import Callable
from typing import Iterator
from typing import Literal
@@ -29,6 +30,7 @@ from typing import MutableMapping
from typing import MutableSequence
from typing import Sequence
from typing import SupportsBytes
from typing import TextIO
from typing import TypeVar
from typing import Union
from typing import overload
@@ -140,16 +142,14 @@ async def _passthru(in_stream: trio.abc.ReceiveStream, out_stream: IO[str]|IO[by
			out_stream = out_stream.fileno()
	except (OSError, AttributeError):
		# cannot get file descriptor, probably a memory buffer
		if isinstance(out_stream, io.BytesIO):
		if isinstance(out_stream, (BinaryIO, io.BytesIO)):
			async def write(data: bytes) -> None:
				assert isinstance(out_stream, io.BytesIO)
				assert isinstance(out_stream, (BinaryIO, io.BytesIO))
				out_stream.write(data)
		elif isinstance(out_stream, io.StringIO):
		else:
			async def write(data: bytes) -> None:
				assert isinstance(out_stream, io.StringIO)
				assert isinstance(out_stream, (TextIO, io.StringIO))
				out_stream.write(data.decode())
		else:
			raise TypeError(f"Unknown IO type: {type(out_stream)}")
	else:
		# is/has a file descriptor, out_stream is now that file descriptor
		async def write(data: bytes) -> None: