404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@18.223.195.30: ~ $
import os
import imp
from itertools import product, starmap
import distutils.command.install_lib as orig


class install_lib(orig.install_lib):
    """Don't add compiled flags to filenames of non-Python files"""

    def run(self):
        self.build()
        outfiles = self.install()
        if outfiles is not None:
            # always compile, in case we have any extension stubs to deal with
            self.byte_compile(outfiles)

    def get_exclusions(self):
        """
        Return a collections.Sized collections.Container of paths to be
        excluded for single_version_externally_managed installations.
        """
        all_packages = (
            pkg
            for ns_pkg in self._get_SVEM_NSPs()
            for pkg in self._all_packages(ns_pkg)
        )

        excl_specs = product(all_packages, self._gen_exclusion_paths())
        return set(starmap(self._exclude_pkg_path, excl_specs))

    def _exclude_pkg_path(self, pkg, exclusion_path):
        """
        Given a package name and exclusion path within that package,
        compute the full exclusion path.
        """
        parts = pkg.split('.') + [exclusion_path]
        return os.path.join(self.install_dir, *parts)

    @staticmethod
    def _all_packages(pkg_name):
        """
        >>> list(install_lib._all_packages('foo.bar.baz'))
        ['foo.bar.baz', 'foo.bar', 'foo']
        """
        while pkg_name:
            yield pkg_name
            pkg_name, sep, child = pkg_name.rpartition('.')

    def _get_SVEM_NSPs(self):
        """
        Get namespace packages (list) but only for
        single_version_externally_managed installations and empty otherwise.
        """
        # TODO: is it necessary to short-circuit here? i.e. what's the cost
        # if get_finalized_command is called even when namespace_packages is
        # False?
        if not self.distribution.namespace_packages:
            return []

        install_cmd = self.get_finalized_command('install')
        svem = install_cmd.single_version_externally_managed

        return self.distribution.namespace_packages if svem else []

    @staticmethod
    def _gen_exclusion_paths():
        """
        Generate file paths to be excluded for namespace packages (bytecode
        cache files).
        """
        # always exclude the package module itself
        yield '__init__.py'

        yield '__init__.pyc'
        yield '__init__.pyo'

        if not hasattr(imp, 'get_tag'):
            return

        base = os.path.join('__pycache__', '__init__.' + imp.get_tag())
        yield base + '.pyc'
        yield base + '.pyo'
        yield base + '.opt-1.pyc'
        yield base + '.opt-2.pyc'

    def copy_tree(
            self, infile, outfile,
            preserve_mode=1, preserve_times=1, preserve_symlinks=0, level=1
    ):
        assert preserve_mode and preserve_times and not preserve_symlinks
        exclude = self.get_exclusions()

        if not exclude:
            return orig.install_lib.copy_tree(self, infile, outfile)

        # Exclude namespace package __init__.py* files from the output

        from setuptools.archive_util import unpack_directory
        from distutils import log

        outfiles = []

        def pf(src, dst):
            if dst in exclude:
                log.warn("Skipping installation of %s (namespace package)",
                         dst)
                return False

            log.info("copying %s -> %s", src, os.path.dirname(dst))
            outfiles.append(dst)
            return dst

        unpack_directory(infile, outfile, pf)
        return outfiles

    def get_outputs(self):
        outputs = orig.install_lib.get_outputs(self)
        exclude = self.get_exclusions()
        if exclude:
            return [f for f in outputs if f not in exclude]
        return outputs

Filemanager

Name Type Size Permission Actions
__init__.py File 594 B 0644
__init__.pyc File 882 B 0644
__init__.pyo File 882 B 0644
alias.py File 2.37 KB 0644
alias.pyc File 3.03 KB 0644
alias.pyo File 3.03 KB 0644
bdist_egg.py File 17.76 KB 0644
bdist_egg.pyc File 17.96 KB 0644
bdist_egg.pyo File 17.96 KB 0644
bdist_rpm.py File 1.47 KB 0644
bdist_rpm.pyc File 1.87 KB 0644
bdist_rpm.pyo File 1.87 KB 0644
bdist_wininst.py File 637 B 0644
bdist_wininst.pyc File 1.16 KB 0644
bdist_wininst.pyo File 1.16 KB 0644
build_clib.py File 4.38 KB 0644
build_clib.pyc File 2.78 KB 0644
build_clib.pyo File 2.78 KB 0644
build_ext.py File 12.86 KB 0644
build_ext.pyc File 12.28 KB 0644
build_ext.pyo File 12.23 KB 0644
build_py.py File 9.37 KB 0644
build_py.pyc File 10.42 KB 0644
build_py.pyo File 10.42 KB 0644
develop.py File 7.86 KB 0644
develop.pyc File 7.71 KB 0644
develop.pyo File 7.71 KB 0644
dist_info.py File 960 B 0644
dist_info.pyc File 1.76 KB 0644
dist_info.pyo File 1.76 KB 0644
easy_install.py File 84.99 KB 0644
easy_install.pyc File 78.5 KB 0644
easy_install.pyo File 78.44 KB 0644
egg_info.py File 24.22 KB 0644
egg_info.pyc File 25.29 KB 0644
egg_info.pyo File 25.29 KB 0644
install.py File 4.57 KB 0644
install.pyc File 4.84 KB 0644
install.pyo File 4.84 KB 0644
install_egg_info.py File 2.15 KB 0644
install_egg_info.pyc File 3.11 KB 0644
install_egg_info.pyo File 3.11 KB 0644
install_lib.py File 3.75 KB 0644
install_lib.pyc File 4.76 KB 0644
install_lib.pyo File 4.71 KB 0644
install_scripts.py File 2.38 KB 0644
install_scripts.pyc File 2.82 KB 0644
install_scripts.pyo File 2.82 KB 0644
launcher manifest.xml File 628 B 0644
py36compat.py File 4.87 KB 0644
py36compat.pyc File 5.42 KB 0644
py36compat.pyo File 5.42 KB 0644
register.py File 270 B 0644
register.pyc File 710 B 0644
register.pyo File 710 B 0644
rotate.py File 2.11 KB 0644
rotate.pyc File 2.96 KB 0644
rotate.pyo File 2.96 KB 0644
saveopts.py File 658 B 0644
saveopts.pyc File 1.1 KB 0644
saveopts.pyo File 1.1 KB 0644
sdist.py File 6.55 KB 0644
sdist.pyc File 7.64 KB 0644
sdist.pyo File 7.64 KB 0644
setopt.py File 4.97 KB 0644
setopt.pyc File 5.91 KB 0644
setopt.pyo File 5.91 KB 0644
test.py File 9 KB 0644
test.pyc File 10.22 KB 0644
test.pyo File 10.22 KB 0644
upload.py File 1.14 KB 0644
upload.pyc File 1.6 KB 0644
upload.pyo File 1.6 KB 0644
upload_docs.py File 7.14 KB 0644
upload_docs.pyc File 7.66 KB 0644
upload_docs.pyo File 7.63 KB 0644