Skip to content

Commit

Permalink
gh-94196: Remove gzip.GzipFile.filename attribute (#94197)
Browse files Browse the repository at this point in the history
gzip: Remove the filename attribute of gzip.GzipFile,
deprecated since Python 2.6, use the name attribute instead. In write
mode, the filename attribute added '.gz' file extension if it was not
present.
  • Loading branch information
vstinner committed Jun 24, 2022
1 parent d435a18 commit d3a27e4
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 8 deletions.
4 changes: 4 additions & 0 deletions Doc/library/gzip.rst
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,10 @@ The module defines the following items:
.. versionchanged:: 3.6
Accepts a :term:`path-like object`.

.. versionchanged:: 3.12
Remove the ``filename`` attribute, use the :attr:`~GzipFile.name`
attribute instead.

.. deprecated:: 3.9
Opening :class:`GzipFile` for writing without specifying the *mode*
argument is deprecated.
Expand Down
6 changes: 6 additions & 0 deletions Doc/whatsnew/3.12.rst
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,12 @@ Removed
use :func:`os.urandom` or :func:`ssl.RAND_bytes` instead.
(Contributed by Victor Stinner in :gh:`94199`.)

* :mod:`gzip`: Remove the ``filename`` attribute of :class:`gzip.GzipFile`,
deprecated since Python 2.6, use the :attr:`~gzip.GzipFile.name` attribute
instead. In write mode, the ``filename`` attribute added ``'.gz'`` file
extension if it was not present.
(Contributed by Victor Stinner in :gh:`94196`.)


Porting to Python 3.12
======================
Expand Down
8 changes: 0 additions & 8 deletions Lib/gzip.py
Original file line number Diff line number Diff line change
Expand Up @@ -212,14 +212,6 @@ def __init__(self, filename=None, mode=None,
if self.mode == WRITE:
self._write_gzip_header(compresslevel)

@property
def filename(self):
import warnings
warnings.warn("use the name attribute", DeprecationWarning, 2)
if self.mode == WRITE and self.name[-3:] != ".gz":
return self.name + ".gz"
return self.name

@property
def mtime(self):
"""Last modification time read from stream, or None"""
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
:mod:`gzip`: Remove the ``filename`` attribute of :class:`gzip.GzipFile`,
deprecated since Python 2.6, use the :attr:`~gzip.GzipFile.name` attribute
instead. In write mode, the ``filename`` attribute added ``'.gz'`` file
extension if it was not present. Patch by Victor Stinner.

0 comments on commit d3a27e4

Please sign in to comment.