bpo-39019: Implement missing __class_getitem__ for SpooledTemporaryFile (GH-17560)

This commit is contained in:
Batuhan Taşkaya 2019-12-30 19:08:08 +03:00 committed by Ivan Levkivskyi
parent 4dc5a9df59
commit 09c482fad1
3 changed files with 16 additions and 0 deletions

View file

@ -643,6 +643,18 @@ class SpooledTemporaryFile:
'encoding': encoding, 'newline': newline,
'dir': dir, 'errors': errors}
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,
`SpooledTemporaryFile[str]` is a valid expression at runtime (type
argument `str` indicates whether the file is open in bytes or text
mode). Note, no type checking happens at runtime, but a static type
checker can be used.
"""
return cls
def _check(self, file):
if self._rolled: return
max_size = self._max_size