From 8a284ece9a50d9e23314def426f546162dcba285 Mon Sep 17 00:00:00 2001 From: Marin Date: Mon, 4 Apr 2022 20:13:40 +0200 Subject: [PATCH 1/2] add name attribute to bz2 fileobject --- Lib/bz2.py | 5 +++++ Lib/test/test_bz2.py | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/Lib/bz2.py b/Lib/bz2.py index fabe4f73c8d808..8d26a897680c7d 100644 --- a/Lib/bz2.py +++ b/Lib/bz2.py @@ -94,6 +94,11 @@ def __init__(self, filename, mode="r", *, compresslevel=9): else: self._pos = 0 + if not isinstance(filename, (str, bytes)): + self.name = '' + else: + self.name = os.fspath(filename) + def close(self): """Flush and close the file. diff --git a/Lib/test/test_bz2.py b/Lib/test/test_bz2.py index 9965c1fe2e5f17..280f77c0309299 100644 --- a/Lib/test/test_bz2.py +++ b/Lib/test/test_bz2.py @@ -106,6 +106,27 @@ def testBadArgs(self): # compresslevel is keyword-only self.assertRaises(TypeError, BZ2File, os.devnull, "r", 3) + def testNameFile(self): + self.createTempFile() + with BZ2File(self.filename) as bz2f: + self.assertTrue(hasattr(bz2f, 'name')) + self.assertTrue(bz2f.name == self.filename) + + def testNameBytesIO(self): + bz2f = BZ2File(BytesIO(self.DATA)) + try: + self.assertTrue(hasattr(bz2f, 'name')) + self.assertTrue(bz2f.name == '') + finally: + bz2f.close() + + bz2f = BZ2File(BytesIO(), "w") + try: + self.assertTrue(hasattr(bz2f, 'name')) + self.assertTrue(bz2f.name == '') + finally: + bz2f.close() + def testRead(self): self.createTempFile() with BZ2File(self.filename) as bz2f: From 47d3993037cdc758007dd6fa811a3a142db48fb2 Mon Sep 17 00:00:00 2001 From: "blurb-it[bot]" <43283697+blurb-it[bot]@users.noreply.github.com> Date: Mon, 4 Apr 2022 18:56:27 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=93=9C=F0=9F=A4=96=20Added=20by=20blu?= =?UTF-8?q?rb=5Fit.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NEWS.d/next/Library/2022-04-04-18-56-26.bpo-47217.0Jd0lE.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 Misc/NEWS.d/next/Library/2022-04-04-18-56-26.bpo-47217.0Jd0lE.rst diff --git a/Misc/NEWS.d/next/Library/2022-04-04-18-56-26.bpo-47217.0Jd0lE.rst b/Misc/NEWS.d/next/Library/2022-04-04-18-56-26.bpo-47217.0Jd0lE.rst new file mode 100644 index 00000000000000..1a1378adc49338 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-04-04-18-56-26.bpo-47217.0Jd0lE.rst @@ -0,0 +1 @@ +Added name attribute for BZ2File (where appropriate and possible).