Current Path: > > opt > > alt > python313 > lib > > python3.13 > > site-packages > > setuptools >
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
__pycache__ | Directory | - | - | |
_distutils | Directory | - | - | |
_vendor | Directory | - | - | |
command | Directory | - | - | |
config | Directory | - | - | |
extern | Directory | - | - | |
__init__.py | File | 9214 bytes | December 01 2024 12:53:24. | |
_core_metadata.py | File | 8921 bytes | December 01 2024 12:53:24. | |
_entry_points.py | File | 2235 bytes | December 01 2024 12:53:24. | |
_imp.py | File | 2433 bytes | December 01 2024 12:53:24. | |
_importlib.py | File | 1468 bytes | December 01 2024 12:53:24. | |
_itertools.py | File | 675 bytes | December 01 2024 12:53:24. | |
_normalization.py | File | 4214 bytes | December 01 2024 12:53:24. | |
_path.py | File | 1056 bytes | December 01 2024 12:53:24. | |
_reqs.py | File | 1120 bytes | December 01 2024 12:53:24. | |
archive_util.py | File | 7331 bytes | December 01 2024 12:53:24. | |
build_meta.py | File | 18670 bytes | December 01 2024 12:53:24. | |
dep_util.py | File | 659 bytes | December 01 2024 12:53:24. | |
depends.py | File | 5582 bytes | December 01 2024 12:53:24. | |
discovery.py | File | 21147 bytes | December 01 2024 12:53:24. | |
dist.py | File | 37205 bytes | December 01 2024 12:53:24. | |
errors.py | File | 2669 bytes | December 01 2024 12:53:24. | |
extension.py | File | 5591 bytes | December 01 2024 12:53:24. | |
glob.py | File | 4868 bytes | December 01 2024 12:53:24. | |
installer.py | File | 4989 bytes | December 01 2024 12:53:24. | |
launch.py | File | 812 bytes | December 01 2024 12:53:24. | |
logging.py | File | 1239 bytes | December 01 2024 12:53:24. | |
modified.py | File | 190 bytes | December 01 2024 12:53:24. | |
monkey.py | File | 4783 bytes | December 01 2024 12:53:24. | |
msvc.py | File | 47422 bytes | December 01 2024 12:53:24. | |
namespaces.py | File | 3073 bytes | December 01 2024 12:53:24. | |
package_index.py | File | 38345 bytes | December 01 2024 12:53:24. | |
py312compat.py | File | 330 bytes | December 01 2024 12:53:24. | |
sandbox.py | File | 14349 bytes | December 01 2024 12:53:24. | |
script (dev).tmpl | File | 218 bytes | December 01 2024 12:53:24. | |
script.tmpl | File | 138 bytes | December 01 2024 12:53:24. | |
unicode_utils.py | File | 941 bytes | December 01 2024 12:53:24. | |
version.py | File | 161 bytes | December 01 2024 12:53:24. | |
warnings.py | File | 3697 bytes | December 01 2024 12:53:24. | |
wheel.py | File | 8628 bytes | December 01 2024 12:53:24. | |
windows_support.py | File | 720 bytes | December 01 2024 12:53:24. |
"""Utilities for extracting common archive formats""" import zipfile import tarfile import os import shutil import posixpath import contextlib from distutils.errors import DistutilsError from ._path import ensure_directory __all__ = [ "unpack_archive", "unpack_zipfile", "unpack_tarfile", "default_filter", "UnrecognizedFormat", "extraction_drivers", "unpack_directory", ] class UnrecognizedFormat(DistutilsError): """Couldn't recognize the archive type""" def default_filter(src, dst): """The default progress/filter callback; returns True for all files""" return dst def unpack_archive(filename, extract_dir, progress_filter=default_filter, drivers=None): """Unpack `filename` to `extract_dir`, or raise ``UnrecognizedFormat`` `progress_filter` is a function taking two arguments: a source path internal to the archive ('/'-separated), and a filesystem path where it will be extracted. The callback must return the desired extract path (which may be the same as the one passed in), or else ``None`` to skip that file or directory. The callback can thus be used to report on the progress of the extraction, as well as to filter the items extracted or alter their extraction paths. `drivers`, if supplied, must be a non-empty sequence of functions with the same signature as this function (minus the `drivers` argument), that raise ``UnrecognizedFormat`` if they do not support extracting the designated archive type. The `drivers` are tried in sequence until one is found that does not raise an error, or until all are exhausted (in which case ``UnrecognizedFormat`` is raised). If you do not supply a sequence of drivers, the module's ``extraction_drivers`` constant will be used, which means that ``unpack_zipfile`` and ``unpack_tarfile`` will be tried, in that order. """ for driver in drivers or extraction_drivers: try: driver(filename, extract_dir, progress_filter) except UnrecognizedFormat: continue else: return else: raise UnrecognizedFormat("Not a recognized archive type: %s" % filename) def unpack_directory(filename, extract_dir, progress_filter=default_filter): """ "Unpack" a directory, using the same interface as for archives Raises ``UnrecognizedFormat`` if `filename` is not a directory """ if not os.path.isdir(filename): raise UnrecognizedFormat("%s is not a directory" % filename) paths = { filename: ('', extract_dir), } for base, dirs, files in os.walk(filename): src, dst = paths[base] for d in dirs: paths[os.path.join(base, d)] = src + d + '/', os.path.join(dst, d) for f in files: target = os.path.join(dst, f) target = progress_filter(src + f, target) if not target: # skip non-files continue ensure_directory(target) f = os.path.join(base, f) shutil.copyfile(f, target) shutil.copystat(f, target) def unpack_zipfile(filename, extract_dir, progress_filter=default_filter): """Unpack zip `filename` to `extract_dir` Raises ``UnrecognizedFormat`` if `filename` is not a zipfile (as determined by ``zipfile.is_zipfile()``). See ``unpack_archive()`` for an explanation of the `progress_filter` argument. """ if not zipfile.is_zipfile(filename): raise UnrecognizedFormat("%s is not a zip file" % (filename,)) with zipfile.ZipFile(filename) as z: _unpack_zipfile_obj(z, extract_dir, progress_filter) def _unpack_zipfile_obj(zipfile_obj, extract_dir, progress_filter=default_filter): """Internal/private API used by other parts of setuptools. Similar to ``unpack_zipfile``, but receives an already opened :obj:`zipfile.ZipFile` object instead of a filename. """ for info in zipfile_obj.infolist(): name = info.filename # don't extract absolute paths or ones with .. in them if name.startswith('/') or '..' in name.split('/'): continue target = os.path.join(extract_dir, *name.split('/')) target = progress_filter(name, target) if not target: continue if name.endswith('/'): # directory ensure_directory(target) else: # file ensure_directory(target) data = zipfile_obj.read(info.filename) with open(target, 'wb') as f: f.write(data) unix_attributes = info.external_attr >> 16 if unix_attributes: os.chmod(target, unix_attributes) def _resolve_tar_file_or_dir(tar_obj, tar_member_obj): """Resolve any links and extract link targets as normal files.""" while tar_member_obj is not None and ( tar_member_obj.islnk() or tar_member_obj.issym() ): linkpath = tar_member_obj.linkname if tar_member_obj.issym(): base = posixpath.dirname(tar_member_obj.name) linkpath = posixpath.join(base, linkpath) linkpath = posixpath.normpath(linkpath) tar_member_obj = tar_obj._getmember(linkpath) is_file_or_dir = tar_member_obj is not None and ( tar_member_obj.isfile() or tar_member_obj.isdir() ) if is_file_or_dir: return tar_member_obj raise LookupError('Got unknown file type') def _iter_open_tar(tar_obj, extract_dir, progress_filter): """Emit member-destination pairs from a tar archive.""" # don't do any chowning! tar_obj.chown = lambda *args: None with contextlib.closing(tar_obj): for member in tar_obj: name = member.name # don't extract absolute paths or ones with .. in them if name.startswith('/') or '..' in name.split('/'): continue prelim_dst = os.path.join(extract_dir, *name.split('/')) try: member = _resolve_tar_file_or_dir(tar_obj, member) except LookupError: continue final_dst = progress_filter(name, prelim_dst) if not final_dst: continue if final_dst.endswith(os.sep): final_dst = final_dst[:-1] yield member, final_dst def unpack_tarfile(filename, extract_dir, progress_filter=default_filter): """Unpack tar/tar.gz/tar.bz2 `filename` to `extract_dir` Raises ``UnrecognizedFormat`` if `filename` is not a tarfile (as determined by ``tarfile.open()``). See ``unpack_archive()`` for an explanation of the `progress_filter` argument. """ try: tarobj = tarfile.open(filename) except tarfile.TarError as e: raise UnrecognizedFormat( "%s is not a compressed or uncompressed tar file" % (filename,) ) from e for member, final_dst in _iter_open_tar( tarobj, extract_dir, progress_filter, ): try: # XXX Ugh tarobj._extract_member(member, final_dst) except tarfile.ExtractError: # chown/chmod/mkfifo/mknode/makedev failed pass return True extraction_drivers = unpack_directory, unpack_zipfile, unpack_tarfile
SILENT KILLER Tool