From cf4a2f29adb6bdae0b18e983250d7c48d486c9d6 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Wed, 11 Mar 2015 17:18:03 +0200 Subject: Issue #23615: Modules bz2, tarfile and tokenize now can be reloaded with imp.reload(). Patch by Thomas Kluyver. --- Lib/bz2.py | 3 +-- Lib/tarfile.py | 2 +- Lib/tokenize.py | 3 +-- Misc/NEWS | 3 +++ Tools/freeze/bkfile.py | 2 +- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Lib/bz2.py b/Lib/bz2.py index 6f47bfa..6c5a60d 100644 --- a/Lib/bz2.py +++ b/Lib/bz2.py @@ -9,6 +9,7 @@ __all__ = ["BZ2File", "BZ2Compressor", "BZ2Decompressor", __author__ = "Nadeem Vawda " +from builtins import open as _builtin_open import io import warnings @@ -27,8 +28,6 @@ _MODE_WRITE = 3 _BUFFER_SIZE = 8192 -_builtin_open = open - class BZ2File(io.BufferedIOBase): diff --git a/Lib/tarfile.py b/Lib/tarfile.py index 37e4dcd..f9e5c18 100755 --- a/Lib/tarfile.py +++ b/Lib/tarfile.py @@ -38,6 +38,7 @@ __credits__ = "Gustavo Niemeyer, Niels Gust\u00e4bel, Richard Townsend." #--------- # Imports #--------- +from builtins import open as bltn_open import sys import os import io @@ -2421,7 +2422,6 @@ def is_tarfile(name): except TarError: return False -bltn_open = open open = TarFile.open diff --git a/Lib/tokenize.py b/Lib/tokenize.py index 5b47ebd..ed4153c 100644 --- a/Lib/tokenize.py +++ b/Lib/tokenize.py @@ -24,6 +24,7 @@ __author__ = 'Ka-Ping Yee ' __credits__ = ('GvR, ESR, Tim Peters, Thomas Wouters, Fred Drake, ' 'Skip Montanaro, Raymond Hettinger, Trent Nelson, ' 'Michael Foord') +from builtins import open as _builtin_open from codecs import lookup, BOM_UTF8 import collections from io import TextIOWrapper @@ -429,8 +430,6 @@ def detect_encoding(readline): return default, [first, second] -_builtin_open = open - def open(filename): """Open a file in read only mode using the encoding detected by detect_encoding(). diff --git a/Misc/NEWS b/Misc/NEWS index e52a480..a6073b8 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -16,6 +16,9 @@ Core and Builtins Library ------- +- Issue #23615: Modules bz2, tarfile and tokenize now can be reloaded with + imp.reload(). Patch by Thomas Kluyver. + - Issue #23476: In the ssl module, enable OpenSSL's X509_V_FLAG_TRUSTED_FIRST flag on certificate stores when it is available. diff --git a/Tools/freeze/bkfile.py b/Tools/freeze/bkfile.py index 58246fa..6abacc9 100644 --- a/Tools/freeze/bkfile.py +++ b/Tools/freeze/bkfile.py @@ -1,4 +1,4 @@ -_orig_open = open +from builtins import open as _orig_open class _BkFile: def __init__(self, file, mode, bufsize): -- cgit v0.12