1. philip_thiem
  2. setuptools

Commits

Jason R. Coombs  committed 25bbade

Replace _extractall with the canonical TarFile.extractall.

  • Participants
  • Parent commits ca3a427
  • Branches 2.x-maintenance

Comments (0)

Files changed (1)

File ez_setup.py

View file
  • Ignore whitespace
     try:
         os.chdir(tmpdir)
         tar = tarfile.open(tarball)
-        _extractall(tar)
+        tar.extractall()
         tar.close()
 
         # going in the directory
     try:
         os.chdir(tmpdir)
         tar = tarfile.open(tarball)
-        _extractall(tar)
+        tar.extractall()
         tar.close()
 
         # going in the directory
         downloader(url, saveto)
     return os.path.realpath(saveto)
 
-
-def _extractall(self, path=".", members=None):
-    """
-    Extract all members from the archive to the current working
-    directory and set owner, modification time and permissions on
-    directories afterwards. `path' specifies a different directory
-    to extract to. `members' is optional and must be a subset of the
-    list returned by getmembers().
-    """
-    import copy
-    import operator
-    from tarfile import ExtractError
-    directories = []
-
-    if members is None:
-        members = self
-
-    for tarinfo in members:
-        if tarinfo.isdir():
-            # Extract directories with a safe mode.
-            directories.append(tarinfo)
-            tarinfo = copy.copy(tarinfo)
-            tarinfo.mode = 448  # decimal for oct 0700
-        self.extract(tarinfo, path)
-
-    # Reverse sort directories.
-    directories.sort(key=operator.attrgetter('name'), reverse=True)
-
-    # Set correct owner, mtime and filemode on directories.
-    for tarinfo in directories:
-        dirpath = os.path.join(path, tarinfo.name)
-        try:
-            self.chown(tarinfo, dirpath)
-            self.utime(tarinfo, dirpath)
-            self.chmod(tarinfo, dirpath)
-        except ExtractError as e:
-            if self.errorlevel > 1:
-                raise
-            else:
-                self._dbg(1, "tarfile: %s" % e)
-
-
 def _build_install_args(options):
     """
     Build the arguments to 'python setup.py install' on the setuptools package