From 8bd3e16eef2737562be5351ea38f7d34d73acad5 Mon Sep 17 00:00:00 2001 From: Jukka Lehtosalo Date: Wed, 28 Apr 2021 15:45:15 +0100 Subject: [PATCH] Add back module-level __getattr__ to encodings (#5261) This is needed for submodules, such as `encodings.cp437`. --- pyrightconfig.json | 3 ++- stdlib/encodings/__init__.pyi | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pyrightconfig.json b/pyrightconfig.json index fc0b0afee..09a3d5398 100644 --- a/pyrightconfig.json +++ b/pyrightconfig.json @@ -6,6 +6,7 @@ ], "exclude": [ "**/@python2", + "stdlib/encodings", "stdlib/sqlite3/dbapi2.pyi", "stdlib/tkinter", "stdlib/xml/dom", @@ -83,4 +84,4 @@ // Mypy's overlapping overload logic misses these issues (see mypy // issue #10143 and #10157). "reportOverlappingOverload": "none" -} \ No newline at end of file +} diff --git a/stdlib/encodings/__init__.pyi b/stdlib/encodings/__init__.pyi index fe59a9143..951a53f1c 100644 --- a/stdlib/encodings/__init__.pyi +++ b/stdlib/encodings/__init__.pyi @@ -1,7 +1,10 @@ from codecs import CodecInfo -from typing import Optional, Union +from typing import Any, Optional, Union class CodecRegistryError(LookupError, SystemError): ... def normalize_encoding(encoding: Union[str, bytes]) -> str: ... def search_function(encoding: str) -> Optional[CodecInfo]: ... + +# Needed for submodules +def __getattr__(name: str) -> Any: ... # incomplete