]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-39693: mention KeyError in tarfile extractfile documentation (GH-18639)
authorAndrey Doroschenko <dorosch.github.io@yandex.ru>
Tue, 20 Oct 2020 14:05:01 +0000 (17:05 +0300)
committerGitHub <noreply@github.com>
Tue, 20 Oct 2020 14:05:01 +0000 (10:05 -0400)
Co-authored-by: Andrey Darascheka <andrei.daraschenka@leverx.com>
Doc/library/tarfile.rst
Lib/tarfile.py
Misc/ACKS
Misc/NEWS.d/next/Documentation/2020-02-24-09-02-05.bpo-39693.QXw0Fm.rst [new file with mode: 0644]

index cca466b56979487592cce77afb2dfacf75bb68e3..7a114fdf5d54b1ccb6b933e70fdc9de03236bd3d 100644 (file)
@@ -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.
index 1fae29430fefffe8b522f898cc879976ffe2b1de..e42279470dac652ed40a9a0dcfde6c6013586013 100755 (executable)
@@ -2093,9 +2093,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")
 
index 0aab4567d6ee98f580f923a8c3be977aeb1672c1..404f70ec87fe230860cd8ede09728bb958beff9c 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1957,5 +1957,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 (file)
index 0000000..86049c5
--- /dev/null
@@ -0,0 +1 @@
+Fix tarfile's extractfile documentation