mirror of
https://github.com/python/cpython.git
synced 2025-08-27 12:16:04 +00:00
bpo-39019: Implement missing __class_getitem__ for subprocess classes (GH-17558)
This commit is contained in:
parent
89aa7f0ede
commit
4dc5a9df59
3 changed files with 29 additions and 0 deletions
|
@ -446,6 +446,19 @@ class CompletedProcess(object):
|
|||
args.append('stderr={!r}'.format(self.stderr))
|
||||
return "{}({})".format(type(self).__name__, ', '.join(args))
|
||||
|
||||
def __class_getitem__(cls, type):
|
||||
"""Provide minimal support for using this class as generic
|
||||
(for example in type annotations).
|
||||
|
||||
See PEP 484 and PEP 560 for more details. For example,
|
||||
`CompletedProcess[bytes]` is a valid expression at runtime
|
||||
(type argument `bytes` indicates the type used for stdout).
|
||||
Note, no type checking happens at runtime, but a static type
|
||||
checker can be used.
|
||||
"""
|
||||
return cls
|
||||
|
||||
|
||||
def check_returncode(self):
|
||||
"""Raise CalledProcessError if the exit code is non-zero."""
|
||||
if self.returncode:
|
||||
|
@ -987,6 +1000,17 @@ class Popen(object):
|
|||
obj_repr = obj_repr[:76] + "...>"
|
||||
return obj_repr
|
||||
|
||||
def __class_getitem__(cls, type):
|
||||
"""Provide minimal support for using this class as generic
|
||||
(for example in type annotations).
|
||||
|
||||
See PEP 484 and PEP 560 for more details. For example, `Popen[bytes]`
|
||||
is a valid expression at runtime (type argument `bytes` indicates the
|
||||
type used for stdout). Note, no type checking happens at runtime, but
|
||||
a static type checker can be used.
|
||||
"""
|
||||
return cls
|
||||
|
||||
@property
|
||||
def universal_newlines(self):
|
||||
# universal_newlines as retained as an alias of text_mode for API
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue