(self, tarinfo, targetpath, set_attrs=True,
                        numeric_owner=False)
Extract the TarInfo object tarinfo to a physical
           file called targetpath.
Extract the TarInfo object tarinfo to a physical
           file called targetpath.
Extract the TarInfo object tarinfo to a physical file called targetpath .
def _extract_member(self, tarinfo, targetpath, set_attrs=True,
                        numeric_owner=False):
        """Extract the TarInfo object tarinfo to a physical
           file called targetpath.
        """
        # Fetch the TarInfo object for the given name
        # and build the destination pathname, replacing
        # forward slashes to platform specific separators.
        targetpath = targetpath.rstrip("/")
        targetpath = targetpath.replace("/", os.sep)

        # Create all upper directories.
        upperdirs = os.path.dirname(targetpath)
        if upperdirs and not os.path.exists(upperdirs):
            # Create directories that are not part of the archive with
            # default permissions.
            os.makedirs(upperdirs)

        if tarinfo.islnk() or tarinfo.issym():
            self._dbg(1, "%s -> %s" % (tarinfo.name, tarinfo.linkname))
        else:
            self._dbg(1, tarinfo.name)

        if tarinfo.isreg():
            self.makefile(tarinfo, targetpath)
        elif tarinfo.isdir():
            self.makedir(tarinfo, targetpath)
        elif tarinfo.isfifo():
            self.makefifo(tarinfo, targetpath)
        elif tarinfo.ischr() or tarinfo.isblk():
            self.makedev(tarinfo, targetpath)
        elif tarinfo.islnk() or tarinfo.issym():
            self.makelink(tarinfo, targetpath)
        elif tarinfo.type not in SUPPORTED_TYPES:
            self.makeunknown(tarinfo, targetpath)
        else:
            self.makefile(tarinfo, targetpath)

        if set_attrs:
            self.chown(tarinfo, targetpath, numeric_owner)
            if not tarinfo.issym():
                self.chmod(tarinfo, targetpath)
                self.utime(tarinfo, targetpath)
def _extract_member ( self , tarinfo , targetpath , set_attrs = True , numeric_owner = False ) : # Fetch the TarInfo object for the given name # and build the destination pathname, replacing # forward slashes to platform specific separators. targetpath = targetpath . rstrip ( "/" ) targetpath = targetpath . replace ( "/" , os . sep ) # Create all upper directories. upperdirs = os . path . dirname ( targetpath ) if upperdirs and not os . path . exists ( upperdirs ) : # Create directories that are not part of the archive with # default permissions. os . makedirs ( upperdirs ) if tarinfo . islnk ( ) or tarinfo . issym ( ) : self . _dbg ( 1 , "%s -> %s" % ( tarinfo . name , tarinfo . linkname ) ) else : self . _dbg ( 1 , tarinfo . name ) if tarinfo . isreg ( ) : self . makefile ( tarinfo , targetpath ) elif tarinfo . isdir ( ) : self . makedir ( tarinfo , targetpath ) elif tarinfo . isfifo ( ) : self . makefifo ( tarinfo , targetpath ) elif tarinfo . ischr ( ) or tarinfo . isblk ( ) : self . makedev ( tarinfo , targetpath ) elif tarinfo . islnk ( ) or tarinfo . issym ( ) : self . makelink ( tarinfo , targetpath ) elif tarinfo . type not in SUPPORTED_TYPES : self . makeunknown ( tarinfo , targetpath ) else : self . makefile ( tarinfo , targetpath ) if set_attrs : self . chown ( tarinfo , targetpath , numeric_owner ) if not tarinfo . issym ( ) : self . chmod ( tarinfo , targetpath ) self . utime ( tarinfo , targetpath )