changeset 57679:493780ea35cf legacy-trunk

Issue #7357: No longer suppress fatal extraction errors by default. TarFile's errorlevel argument controls how errors are handled that occur during extraction. There are three possible levels 0, 1 and 2. If errorlevel is set to 1 or 2 fatal errors (e.g. a full filesystem) are raised as exceptions. If it is set to 0, which is the default value, extraction errors are suppressed, and error messages are written to the debug log instead. But, if the debug log is not activated, which is the default as well, all these errors go unnoticed. The original intention was to imitate GNU tar which tries to extract as many members as possible instead of stopping on the first error. It turns out that this is no good default behaviour for a tar library. This patch simply changes the default value for the errorlevel argument from 0 to 1, so that fatal extraction errors are raised as EnvironmentError exceptions.
author Lars Gustäbel <lars@gustaebel.de>
date Sun, 13 Dec 2009 11:32:27 +0000
parents 20b7deb53d4e
children 11423719babb
files Lib/tarfile.py Misc/NEWS
diffstat 2 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Lib/tarfile.py	Sun Dec 13 00:54:15 2009 +0000
+++ b/Lib/tarfile.py	Sun Dec 13 11:32:27 2009 +0000
@@ -1489,7 +1489,7 @@
     ignore_zeros = False        # If true, skips empty or invalid blocks and
                                 # continues processing.
 
-    errorlevel = 0              # If 0, fatal errors only appear in debug
+    errorlevel = 1              # If 0, fatal errors only appear in debug
                                 # messages (if debug >= 0). If > 0, errors
                                 # are passed to the caller as exceptions.
 
--- a/Misc/NEWS	Sun Dec 13 00:54:15 2009 +0000
+++ b/Misc/NEWS	Sun Dec 13 11:32:27 2009 +0000
@@ -15,6 +15,9 @@
 Library
 -------
 
+- Issue #7357: tarfile no longer suppresses fatal extraction errors by
+  default.
+
 - Issue #7470: logging: fix bug in Unicode encoding fallback.
 
 - Issue #5949: fixed IMAP4_SSL hang when the IMAP server response is