From c933b1a9ce51cc942e6a58270261d2bd6a5298f7 Mon Sep 17 00:00:00 2001 From: Hai Shi Date: Sun, 16 Aug 2020 02:18:36 +0800 Subject: [PATCH 1/4] remove encodings._aliases to search_function --- Lib/encodings/__init__.py | 3 ++- .../next/Library/2020-08-16-11-11-30.bpo-1635741.Q5Zrx3.rst | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Library/2020-08-16-11-11-30.bpo-1635741.Q5Zrx3.rst diff --git a/Lib/encodings/__init__.py b/Lib/encodings/__init__.py index ddd5afdcf2dab0..268e508e5429c6 100644 --- a/Lib/encodings/__init__.py +++ b/Lib/encodings/__init__.py @@ -35,7 +35,7 @@ _cache = {} _unknown = '--unknown--' _import_tail = ['*'] -_aliases = aliases.aliases + class CodecRegistryError(LookupError, SystemError): pass @@ -69,6 +69,7 @@ def normalize_encoding(encoding): def search_function(encoding): + _aliases = aliases.aliases # Cache lookup entry = _cache.get(encoding, _unknown) if entry is not _unknown: diff --git a/Misc/NEWS.d/next/Library/2020-08-16-11-11-30.bpo-1635741.Q5Zrx3.rst b/Misc/NEWS.d/next/Library/2020-08-16-11-11-30.bpo-1635741.Q5Zrx3.rst new file mode 100644 index 00000000000000..7f98ff8913e84b --- /dev/null +++ b/Misc/NEWS.d/next/Library/2020-08-16-11-11-30.bpo-1635741.Q5Zrx3.rst @@ -0,0 +1,2 @@ +Fix refleaks of `encodings.aliases` by Moving `encodings._aliases` to +:func:`encodings.search_function`. From 4dd90d4e48371c19ea89e5d242430d3220d34ebc Mon Sep 17 00:00:00 2001 From: Hai Shi Date: Sun, 16 Aug 2020 22:12:53 +0800 Subject: [PATCH 2/4] deleting the _aliases in encodings module --- Lib/encodings/__init__.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Lib/encodings/__init__.py b/Lib/encodings/__init__.py index 268e508e5429c6..b4575d5a8d5385 100644 --- a/Lib/encodings/__init__.py +++ b/Lib/encodings/__init__.py @@ -69,7 +69,6 @@ def normalize_encoding(encoding): def search_function(encoding): - _aliases = aliases.aliases # Cache lookup entry = _cache.get(encoding, _unknown) if entry is not _unknown: @@ -83,8 +82,8 @@ def search_function(encoding): # try in the encodings package, then at top-level. # norm_encoding = normalize_encoding(encoding) - aliased_encoding = _aliases.get(norm_encoding) or \ - _aliases.get(norm_encoding.replace('.', '_')) + aliased_encoding = aliases.aliases.get(norm_encoding) or \ + aliases.aliases.get(norm_encoding.replace('.', '_')) if aliased_encoding is not None: modnames = [aliased_encoding, norm_encoding] @@ -146,8 +145,8 @@ def search_function(encoding): pass else: for alias in codecaliases: - if alias not in _aliases: - _aliases[alias] = modname + if alias not in aliases.aliases: + aliases.aliases[alias] = modname # Return the registry entry return entry From 1dc9733056205ef0794fe51ceadda24d196e8a4d Mon Sep 17 00:00:00 2001 From: Hai Shi Date: Sun, 16 Aug 2020 22:15:15 +0800 Subject: [PATCH 3/4] update news --- .../next/Library/2020-08-16-11-11-30.bpo-1635741.Q5Zrx3.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Misc/NEWS.d/next/Library/2020-08-16-11-11-30.bpo-1635741.Q5Zrx3.rst b/Misc/NEWS.d/next/Library/2020-08-16-11-11-30.bpo-1635741.Q5Zrx3.rst index 7f98ff8913e84b..ce8543af09534c 100644 --- a/Misc/NEWS.d/next/Library/2020-08-16-11-11-30.bpo-1635741.Q5Zrx3.rst +++ b/Misc/NEWS.d/next/Library/2020-08-16-11-11-30.bpo-1635741.Q5Zrx3.rst @@ -1,2 +1,2 @@ -Fix refleaks of `encodings.aliases` by Moving `encodings._aliases` to +Fix refleaks of `encodings.aliases` by Using `encodings.aliases` directly in :func:`encodings.search_function`. From 9cc86b144ecabd0583d0e4f2be67b846aa84cd45 Mon Sep 17 00:00:00 2001 From: Hai Shi Date: Sun, 16 Aug 2020 22:53:05 +0800 Subject: [PATCH 4/4] Fix typo --- .../next/Library/2020-08-16-11-11-30.bpo-1635741.Q5Zrx3.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Misc/NEWS.d/next/Library/2020-08-16-11-11-30.bpo-1635741.Q5Zrx3.rst b/Misc/NEWS.d/next/Library/2020-08-16-11-11-30.bpo-1635741.Q5Zrx3.rst index ce8543af09534c..ef49d2580f3cb1 100644 --- a/Misc/NEWS.d/next/Library/2020-08-16-11-11-30.bpo-1635741.Q5Zrx3.rst +++ b/Misc/NEWS.d/next/Library/2020-08-16-11-11-30.bpo-1635741.Q5Zrx3.rst @@ -1,2 +1,2 @@ -Fix refleaks of `encodings.aliases` by Using `encodings.aliases` directly in +Fix refleaks of `encodings.aliases` by using `encodings.aliases` directly in :func:`encodings.search_function`. pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy