Spaces:
Sleeping
Sleeping
whisper-large-v3
/
venv
/lib
/python3.10
/site-packages
/pip
/_vendor
/urllib3
/packages
/backports
/makefile.py
# -*- coding: utf-8 -*- | |
""" | |
backports.makefile | |
~~~~~~~~~~~~~~~~~~ | |
Backports the Python 3 ``socket.makefile`` method for use with anything that | |
wants to create a "fake" socket object. | |
""" | |
import io | |
from socket import SocketIO | |
def backport_makefile( | |
self, mode="r", buffering=None, encoding=None, errors=None, newline=None | |
): | |
""" | |
Backport of ``socket.makefile`` from Python 3.5. | |
""" | |
if not set(mode) <= {"r", "w", "b"}: | |
raise ValueError("invalid mode %r (only r, w, b allowed)" % (mode,)) | |
writing = "w" in mode | |
reading = "r" in mode or not writing | |
assert reading or writing | |
binary = "b" in mode | |
rawmode = "" | |
if reading: | |
rawmode += "r" | |
if writing: | |
rawmode += "w" | |
raw = SocketIO(self, rawmode) | |
self._makefile_refs += 1 | |
if buffering is None: | |
buffering = -1 | |
if buffering < 0: | |
buffering = io.DEFAULT_BUFFER_SIZE | |
if buffering == 0: | |
if not binary: | |
raise ValueError("unbuffered streams must be binary") | |
return raw | |
if reading and writing: | |
buffer = io.BufferedRWPair(raw, raw, buffering) | |
elif reading: | |
buffer = io.BufferedReader(raw, buffering) | |
else: | |
assert writing | |
buffer = io.BufferedWriter(raw, buffering) | |
if binary: | |
return buffer | |
text = io.TextIOWrapper(buffer, encoding, errors, newline) | |
text.mode = mode | |
return text | |