"""distutils.command.install_egg_info Implements the Distutils 'install_egg_info' command, for installing a package's PKG-INFO metadata.""" from distutils.cmd import Command from distutils import log, dir_util import os, sys, re class install_egg_info(Command): """Install an .egg-info file for the package""" description = "Install package's PKG-INFO metadata as an .egg-info file" user_options = [ ('install-dir=', 'd', "directory to install to"), ] def initialize_options(self): self.install_dir = None def finalize_options(self): self.set_undefined_options('install_lib',('install_dir','install_dir')) basename = "%s-%s-py%d.%d.egg-info" % ( to_filename(safe_name(self.distribution.get_name())), to_filename(safe_version(self.distribution.get_version())), *sys.version_info[:2] ) self.target = os.path.join(self.install_dir, basename) self.outputs = [self.target] def run(self): target = self.target if os.path.isdir(target) and not os.path.islink(target): dir_util.remove_tree(target, dry_run=self.dry_run) elif os.path.exists(target): self.execute(os.unlink,(self.target,),"Removing "+target) elif not os.path.isdir(self.install_dir): self.execute(os.makedirs, (self.install_dir,), "Creating "+self.install_dir) log.info("Writing %s", target) if not self.dry_run: with open(target, 'w', encoding='UTF-8') as f: self.distribution.metadata.write_pkg_file(f) def get_outputs(self): return self.outputs # The following routines are taken from setuptools' pkg_resources module and # can be replaced by importing them from pkg_resources once it is included # in the stdlib. def safe_name(name): """Convert an arbitrary string to a standard distribution name Any runs of non-alphanumeric/. characters are replaced with a single '-'. """ return re.sub('[^A-Za-z0-9.]+', '-', name) def safe_version(version): """Convert an arbitrary string to a standard version string Spaces become dots, and all other non-alphanumeric characters become dashes, with runs of multiple dashes condensed to a single dash. """ version = version.replace(' ','.') return re.sub('[^A-Za-z0-9.]+', '-', version) def to_filename(name): """Convert a project or version name to its filename-escaped form Any '-' characters are currently replaced with '_'. """ return name.replace('-','_')
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 799 B | 0644 |
|
bdist.py | File | 5.43 KB | 0644 |
|
bdist_dumb.py | File | 4.8 KB | 0644 |
|
bdist_msi.py | File | 34.47 KB | 0644 |
|
bdist_rpm.py | File | 21.07 KB | 0644 |
|
bdist_wininst.py | File | 15.67 KB | 0644 |
|
build.py | File | 5.63 KB | 0644 |
|
build_clib.py | File | 7.83 KB | 0644 |
|
build_ext.py | File | 30.83 KB | 0644 |
|
build_py.py | File | 16.79 KB | 0644 |
|
build_scripts.py | File | 6.09 KB | 0644 |
|
check.py | File | 5.47 KB | 0644 |
|
clean.py | File | 2.71 KB | 0644 |
|
command_template | File | 633 B | 0644 |
|
config.py | File | 12.81 KB | 0644 |
|
install.py | File | 26.11 KB | 0644 |
|
install_data.py | File | 2.76 KB | 0644 |
|
install_egg_info.py | File | 2.54 KB | 0644 |
|
install_headers.py | File | 1.27 KB | 0644 |
|
install_lib.py | File | 8.2 KB | 0644 |
|
install_scripts.py | File | 1.97 KB | 0644 |
|
register.py | File | 11.44 KB | 0644 |
|
sdist.py | File | 18.56 KB | 0644 |
|
upload.py | File | 6.84 KB | 0644 |
|