Skip to content

Commit

Permalink
bpo-36889: Merge asyncio streams (pythonGH-13251)
Browse files Browse the repository at this point in the history
  • Loading branch information
asvetlov authored and miss-islington committed May 27, 2019
1 parent 6f6ff8a commit 23b4b69
Show file tree
Hide file tree
Showing 13 changed files with 2,065 additions and 393 deletions.
38 changes: 38 additions & 0 deletions Lib/asyncio/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# flake8: noqa

import sys
import warnings

# This relies on each of the submodules having an __all__ variable.
from .base_events import *
Expand Down Expand Up @@ -43,3 +44,40 @@
else:
from .unix_events import * # pragma: no cover
__all__ += unix_events.__all__


__all__ += ('StreamReader', 'StreamWriter', 'StreamReaderProtocol') # deprecated


def __getattr__(name):
global StreamReader, StreamWriter, StreamReaderProtocol
if name == 'StreamReader':
warnings.warn("StreamReader is deprecated since Python 3.8 "
"in favor of Stream, and scheduled for removal "
"in Python 3.10",
DeprecationWarning,
stacklevel=2)
from .streams import StreamReader as sr
StreamReader = sr
return StreamReader
if name == 'StreamWriter':
warnings.warn("StreamWriter is deprecated since Python 3.8 "
"in favor of Stream, and scheduled for removal "
"in Python 3.10",
DeprecationWarning,
stacklevel=2)
from .streams import StreamWriter as sw
StreamWriter = sw
return StreamWriter
if name == 'StreamReaderProtocol':
warnings.warn("Using asyncio internal class StreamReaderProtocol "
"is deprecated since Python 3.8 "
" and scheduled for removal "
"in Python 3.10",
DeprecationWarning,
stacklevel=2)
from .streams import StreamReaderProtocol as srp
StreamReaderProtocol = srp
return StreamReaderProtocol

raise AttributeError(f"module {__name__} has no attribute {name}")
Loading

0 comments on commit 23b4b69

Please sign in to comment.