Add __class_getitem__ to csv.DictReader and csv.DictWriter (#92393)

This commit is contained in:
Marc Mueller 2022-05-08 16:24:54 +02:00 committed by GitHub
parent 3680ebed7f
commit 5ed5c56123
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 1 deletions

View file

@ -4,6 +4,7 @@ csv.py - read/write/investigate CSV files
"""
import re
import types
from _csv import Error, __version__, writer, reader, register_dialect, \
unregister_dialect, get_dialect, list_dialects, \
field_size_limit, \
@ -126,6 +127,8 @@ class DictReader:
d[key] = self.restval
return d
__class_getitem__ = classmethod(types.GenericAlias)
class DictWriter:
def __init__(self, f, fieldnames, restval="", extrasaction="raise",
@ -156,6 +159,8 @@ class DictWriter:
def writerows(self, rowdicts):
return self.writer.writerows(map(self._dict_to_list, rowdicts))
__class_getitem__ = classmethod(types.GenericAlias)
# Guard Sniffer's type checking against builds that exclude complex()
try:
complex