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.
This commit is contained in:
Lars Gustäbel 2009-12-13 11:32:27 +00:00
parent 5f429e0227
commit 92ca7561bb
2 changed files with 4 additions and 1 deletions

View File

@ -1489,7 +1489,7 @@ class TarFile(object):
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.

View File

@ -15,6 +15,9 @@ Core and Builtins
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