From: Tarek Ziadé Date: Tue, 20 Apr 2010 21:09:06 +0000 (+0000) Subject: removed ztar support in shutil.make_archive X-Git-Tag: v2.7b2~234 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e593fad81b0cc16c98c61ae0e162cff6dbca0f25;p=python removed ztar support in shutil.make_archive --- diff --git a/Doc/library/shutil.rst b/Doc/library/shutil.rst index 23f03e7cc7..0b343d4988 100644 --- a/Doc/library/shutil.rst +++ b/Doc/library/shutil.rst @@ -249,7 +249,7 @@ Archives operations *base_name* is the name of the file to create, including the path, minus any format-specific extension. *format* is the archive format: one of - "zip", "tar", "ztar", "bztar" or "gztar". + "zip", "tar", "bztar" or "gztar". *root_dir* is a directory that will be the root directory of the archive; ie. we typically chdir into *root_dir* before creating the @@ -276,7 +276,6 @@ Archives operations - *gztar*: gzip'ed tar-file - *bztar*: bzip2'ed tar-file - - *ztar*: compressed tar file - *tar*: uncompressed tar file - *zip*: ZIP file diff --git a/Lib/shutil.py b/Lib/shutil.py index 5cfea63b85..2a2be9ee91 100644 --- a/Lib/shutil.py +++ b/Lib/shutil.py @@ -338,32 +338,28 @@ def _make_tarball(base_name, base_dir, compress="gzip", verbose=0, dry_run=0, """Create a (possibly compressed) tar file from all the files under 'base_dir'. - 'compress' must be "gzip" (the default), "compress", "bzip2", or None. - (compress will be deprecated in Python 3.2) + 'compress' must be "gzip" (the default), "bzip2", or None. 'owner' and 'group' can be used to define an owner and a group for the archive that is being built. If not provided, the current owner and group will be used. The output tar file will be named 'base_dir' + ".tar", possibly plus - the appropriate compression extension (".gz", ".bz2" or ".Z"). + the appropriate compression extension (".gz", or ".bz2"). Returns the output filename. """ - tar_compression = {'gzip': 'gz', 'bzip2': 'bz2', None: '', 'compress': ''} - compress_ext = {'gzip': '.gz', 'bzip2': '.bz2', 'compress': '.Z'} + tar_compression = {'gzip': 'gz', 'bzip2': 'bz2', None: ''} + compress_ext = {'gzip': '.gz', 'bzip2': '.bz2'} # flags for compression program, each element of list will be an argument if compress is not None and compress not in compress_ext.keys(): raise ValueError, \ - ("bad value for 'compress': must be None, 'gzip', 'bzip2' " - "or 'compress'") - - archive_name = base_name + '.tar' - if compress != 'compress': - archive_name += compress_ext.get(compress, '') + ("bad value for 'compress': must be None, 'gzip' or 'bzip2'") + archive_name = base_name + '.tar' + compress_ext.get(compress, '') archive_dir = os.path.dirname(archive_name) + if not os.path.exists(archive_dir): logger.info("creating %s" % archive_dir) if not dry_run: @@ -395,20 +391,6 @@ def _make_tarball(base_name, base_dir, compress="gzip", verbose=0, dry_run=0, finally: tar.close() - # compression using `compress` - # XXX this block will be removed in Python 3.2 - if compress == 'compress': - warn("'compress' will be deprecated.", PendingDeprecationWarning) - # the option varies depending on the platform - compressed_name = archive_name + compress_ext[compress] - if sys.platform == 'win32': - cmd = [compress, archive_name, compressed_name] - else: - cmd = [compress, '-f', archive_name] - from distutils.spawn import spawn - spawn(cmd, dry_run=dry_run) - return compressed_name - return archive_name def _call_external_zip(directory, verbose=False): @@ -479,8 +461,6 @@ def _make_zipfile(base_name, base_dir, verbose=0, dry_run=0, logger=None): _ARCHIVE_FORMATS = { 'gztar': (_make_tarball, [('compress', 'gzip')], "gzip'ed tar-file"), 'bztar': (_make_tarball, [('compress', 'bzip2')], "bzip2'ed tar-file"), - 'ztar': (_make_tarball, [('compress', 'compress')], - "compressed tar file"), 'tar': (_make_tarball, [('compress', None)], "uncompressed tar file"), 'zip': (_make_zipfile, [],"ZIP file") } @@ -524,8 +504,8 @@ def make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0, """Create an archive file (eg. zip or tar). 'base_name' is the name of the file to create, minus any format-specific - extension; 'format' is the archive format: one of "zip", "tar", "ztar", - "bztar" or "gztar". + extension; 'format' is the archive format: one of "zip", "tar", "bztar" + or "gztar". 'root_dir' is a directory that will be the root directory of the archive; ie. we typically chdir into 'root_dir' before creating the diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py index c3877f98c8..b87903962a 100644 --- a/Lib/test/test_shutil.py +++ b/Lib/test/test_shutil.py @@ -453,36 +453,6 @@ class TestShutil(unittest.TestCase): tarball = base_name + '.tar' self.assertTrue(os.path.exists(tarball)) - @unittest.skipUnless(find_executable('compress'), - 'The compress program is required') - def test_compress_deprecated(self): - tmpdir, tmpdir2, base_name = self._create_files() - - # using compress and testing the PendingDeprecationWarning - old_dir = os.getcwd() - os.chdir(tmpdir) - try: - with captured_stdout() as s, check_warnings(quiet=False) as w: - _make_tarball(base_name, 'dist', compress='compress') - finally: - os.chdir(old_dir) - tarball = base_name + '.tar.Z' - self.assertTrue(os.path.exists(tarball)) - self.assertEqual(len(w.warnings), 1) - - # same test with dry_run - os.remove(tarball) - old_dir = os.getcwd() - os.chdir(tmpdir) - try: - with captured_stdout() as s, check_warnings(quiet=False) as w: - _make_tarball(base_name, 'dist', compress='compress', - dry_run=True) - finally: - os.chdir(old_dir) - self.assertFalse(os.path.exists(tarball)) - self.assertEqual(len(w.warnings), 1) - @unittest.skipUnless(zlib, "Requires zlib") @unittest.skipUnless(ZIP_SUPPORT, 'Need zip support to run') def test_make_zipfile(self):