From: Miss Skeleton (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 20 Oct 2020 14:31:03 +0000 (-0700) Subject: bpo-39693: mention KeyError in tarfile extractfile documentation (GH-18639) X-Git-Tag: v3.9.1rc1~138 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b249aeae89f55b9da5cdff082ba271e2b15b7825;p=thirdparty%2FPython%2Fcpython.git bpo-39693: mention KeyError in tarfile extractfile documentation (GH-18639) Co-authored-by: Andrey Darascheka (cherry picked from commit ec42789e6e14f6b6ac13569aeadc13798d7173a8) Closes bpo-39693. --- diff --git a/Doc/library/tarfile.rst b/Doc/library/tarfile.rst index cca466b56979..7a114fdf5d54 100644 --- a/Doc/library/tarfile.rst +++ b/Doc/library/tarfile.rst @@ -445,10 +445,11 @@ be finalized; only the internally used file object will be closed. See the .. method:: TarFile.extractfile(member) - Extract a member from the archive as a file object. *member* may be a filename - or a :class:`TarInfo` object. If *member* is a regular file or a link, an - :class:`io.BufferedReader` object is returned. Otherwise, :const:`None` is - returned. + Extract a member from the archive as a file object. *member* may be + a filename or a :class:`TarInfo` object. If *member* is a regular file or + a link, an :class:`io.BufferedReader` object is returned. For all other + existing members, :const:`None` is returned. If *member* does not appear + in the archive, :exc:`KeyError` is raised. .. versionchanged:: 3.3 Return an :class:`io.BufferedReader` object. diff --git a/Lib/tarfile.py b/Lib/tarfile.py index 6769066cabd6..62a6d9d120ff 100755 --- a/Lib/tarfile.py +++ b/Lib/tarfile.py @@ -2091,9 +2091,10 @@ class TarFile(object): def extractfile(self, member): """Extract a member from the archive as a file object. `member' may be - a filename or a TarInfo object. If `member' is a regular file or a - link, an io.BufferedReader object is returned. Otherwise, None is - returned. + a filename or a TarInfo object. If `member' is a regular file or + a link, an io.BufferedReader object is returned. For all other + existing members, None is returned. If `member' does not appear + in the archive, KeyError is raised. """ self._check("r") diff --git a/Misc/ACKS b/Misc/ACKS index 2aa9a9de9370..021df26426e3 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -1941,5 +1941,6 @@ Gennadiy Zlobin Doug Zongker Peter Åstrand Vlad Emelianov +Andrey Doroschenko (Entries should be added in rough alphabetical order by last names) diff --git a/Misc/NEWS.d/next/Documentation/2020-02-24-09-02-05.bpo-39693.QXw0Fm.rst b/Misc/NEWS.d/next/Documentation/2020-02-24-09-02-05.bpo-39693.QXw0Fm.rst new file mode 100644 index 000000000000..86049c536815 --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/2020-02-24-09-02-05.bpo-39693.QXw0Fm.rst @@ -0,0 +1 @@ +Fix tarfile's extractfile documentation