|
@@ -22,7 +22,7 @@ from .helpers import Error, location_validator, archivename_validator, format_li
|
|
|
get_cache_dir, prune_within, prune_split, \
|
|
|
Manifest, NoManifestError, remove_surrogates, update_excludes, format_archive, check_extension_modules, Statistics, \
|
|
|
dir_is_tagged, bigint_to_int, ChunkerParams, CompressionSpec, PrefixSpec, is_slow_msgpack, yes, sysinfo, \
|
|
|
- EXIT_SUCCESS, EXIT_WARNING, EXIT_ERROR, log_multi, PatternMatcher
|
|
|
+ EXIT_SUCCESS, EXIT_WARNING, EXIT_ERROR, log_multi, PatternMatcher, ErrorIgnoringTextIOWrapper
|
|
|
from .logger import create_logger, setup_logging
|
|
|
logger = create_logger()
|
|
|
from .compress import Compressor, COMPR_BUFFER
|
|
@@ -1592,8 +1592,8 @@ def setup_signal_handlers(): # pragma: no cover
|
|
|
def main(): # pragma: no cover
|
|
|
# Make sure stdout and stderr have errors='replace') to avoid unicode
|
|
|
# issues when print()-ing unicode file names
|
|
|
- sys.stdout = io.TextIOWrapper(sys.stdout.buffer, sys.stdout.encoding, 'replace', line_buffering=True)
|
|
|
- sys.stderr = io.TextIOWrapper(sys.stderr.buffer, sys.stderr.encoding, 'replace', line_buffering=True)
|
|
|
+ sys.stdout = ErrorIgnoringTextIOWrapper(sys.stdout.buffer, sys.stdout.encoding, 'replace', line_buffering=True)
|
|
|
+ sys.stderr = ErrorIgnoringTextIOWrapper(sys.stderr.buffer, sys.stderr.encoding, 'replace', line_buffering=True)
|
|
|
setup_signal_handlers()
|
|
|
archiver = Archiver()
|
|
|
msg = None
|