Kaydet (Commit) 4bdcfce5 authored tarafından Serhiy Storchaka's avatar Serhiy Storchaka

Issue #23421: Fixed compression in tarfile CLI. Patch by wdv4758h.

...@@ -2494,16 +2494,16 @@ def main(): ...@@ -2494,16 +2494,16 @@ def main():
_, ext = os.path.splitext(tar_name) _, ext = os.path.splitext(tar_name)
compressions = { compressions = {
# gz # gz
'gz': 'gz', '.gz': 'gz',
'tgz': 'gz', '.tgz': 'gz',
# xz # xz
'xz': 'xz', '.xz': 'xz',
'txz': 'xz', '.txz': 'xz',
# bz2 # bz2
'bz2': 'bz2', '.bz2': 'bz2',
'tbz': 'bz2', '.tbz': 'bz2',
'tbz2': 'bz2', '.tbz2': 'bz2',
'tb2': 'bz2', '.tb2': 'bz2',
} }
tar_mode = 'w:' + compressions[ext] if ext in compressions else 'w' tar_mode = 'w:' + compressions[ext] if ext in compressions else 'w'
tar_files = args.create tar_files = args.create
......
...@@ -2006,6 +2006,21 @@ class CommandLineTest(unittest.TestCase): ...@@ -2006,6 +2006,21 @@ class CommandLineTest(unittest.TestCase):
finally: finally:
support.unlink(tar_name) support.unlink(tar_name)
def test_create_command_compressed(self):
files = [support.findfile('tokenize_tests.txt'),
support.findfile('tokenize_tests-no-coding-cookie-'
'and-utf8-bom-sig-only.txt')]
for filetype in (GzipTest, Bz2Test, LzmaTest):
if not filetype.open:
continue
try:
tar_name = tmpname + '.' + filetype.suffix
out = self.tarfilecmd('-c', tar_name, *files)
with filetype.taropen(tar_name) as tar:
tar.getmembers()
finally:
support.unlink(tar_name)
def test_extract_command(self): def test_extract_command(self):
self.make_simple_tarfile(tmpname) self.make_simple_tarfile(tmpname)
for opt in '-e', '--extract': for opt in '-e', '--extract':
......
...@@ -13,12 +13,15 @@ Core and Builtins ...@@ -13,12 +13,15 @@ Core and Builtins
Library Library
------- -------
- Issue #23421: Fixed compression in tarfile CLI. Patch by wdv4758h.
- Issue #23361: Fix possible overflow in Windows subprocess creation code. - Issue #23361: Fix possible overflow in Windows subprocess creation code.
- logging.handlers.QueueListener now takes a respect_handler_level keyword - logging.handlers.QueueListener now takes a respect_handler_level keyword
argument which, if set to True, will pass messages to handlers taking handler argument which, if set to True, will pass messages to handlers taking handler
levels into account. levels into account.
What's New in Python 3.5 alpha 1? What's New in Python 3.5 alpha 1?
================================= =================================
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment