[ Avaa Bypassed ]




Upload:

Command:

www-data@18.224.33.135: ~ $
import glob
import os
import subprocess
import sys
from distutils import log
from distutils.errors import DistutilsError

import pkg_resources
from setuptools.command.easy_install import easy_install
from setuptools.extern import six
from setuptools.wheel import Wheel

from .py31compat import TemporaryDirectory


def _fixup_find_links(find_links):
    """Ensure find-links option end-up being a list of strings."""
    if isinstance(find_links, six.string_types):
        return find_links.split()
    assert isinstance(find_links, (tuple, list))
    return find_links


def _legacy_fetch_build_egg(dist, req):
    """Fetch an egg needed for building.

    Legacy path using EasyInstall.
    """
    tmp_dist = dist.__class__({'script_args': ['easy_install']})
    opts = tmp_dist.get_option_dict('easy_install')
    opts.clear()
    opts.update(
        (k, v)
        for k, v in dist.get_option_dict('easy_install').items()
        if k in (
            # don't use any other settings
            'find_links', 'site_dirs', 'index_url',
            'optimize', 'site_dirs', 'allow_hosts',
        ))
    if dist.dependency_links:
        links = dist.dependency_links[:]
        if 'find_links' in opts:
            links = _fixup_find_links(opts['find_links'][1]) + links
        opts['find_links'] = ('setup', links)
    install_dir = dist.get_egg_cache_dir()
    cmd = easy_install(
        tmp_dist, args=["x"], install_dir=install_dir,
        exclude_scripts=True,
        always_copy=False, build_directory=None, editable=False,
        upgrade=False, multi_version=True, no_report=True, user=False
    )
    cmd.ensure_finalized()
    return cmd.easy_install(req)


def fetch_build_egg(dist, req):
    """Fetch an egg needed for building.

    Use pip/wheel to fetch/build a wheel."""
    # Check pip is available.
    try:
        pkg_resources.get_distribution('pip')
    except pkg_resources.DistributionNotFound:
        dist.announce(
            'WARNING: The pip package is not available, falling back '
            'to EasyInstall for handling setup_requires/test_requires; '
            'this is deprecated and will be removed in a future version.',
            log.WARN
        )
        return _legacy_fetch_build_egg(dist, req)
    # Warn if wheel is not.
    try:
        pkg_resources.get_distribution('wheel')
    except pkg_resources.DistributionNotFound:
        dist.announce('WARNING: The wheel package is not available.', log.WARN)
    # Ignore environment markers; if supplied, it is required.
    req = strip_marker(req)
    # Take easy_install options into account, but do not override relevant
    # pip environment variables (like PIP_INDEX_URL or PIP_QUIET); they'll
    # take precedence.
    opts = dist.get_option_dict('easy_install')
    if 'allow_hosts' in opts:
        raise DistutilsError('the `allow-hosts` option is not supported '
                             'when using pip to install requirements.')
    if 'PIP_QUIET' in os.environ or 'PIP_VERBOSE' in os.environ:
        quiet = False
    else:
        quiet = True
    if 'PIP_INDEX_URL' in os.environ:
        index_url = None
    elif 'index_url' in opts:
        index_url = opts['index_url'][1]
    else:
        index_url = None
    if 'find_links' in opts:
        find_links = _fixup_find_links(opts['find_links'][1])[:]
    else:
        find_links = []
    if dist.dependency_links:
        find_links.extend(dist.dependency_links)
    eggs_dir = os.path.realpath(dist.get_egg_cache_dir())
    environment = pkg_resources.Environment()
    for egg_dist in pkg_resources.find_distributions(eggs_dir):
        if egg_dist in req and environment.can_add(egg_dist):
            return egg_dist
    with TemporaryDirectory() as tmpdir:
        cmd = [
            sys.executable, '-m', 'pip',
            '--disable-pip-version-check',
            'wheel', '--no-deps',
            '-w', tmpdir,
        ]
        if quiet:
            cmd.append('--quiet')
        if index_url is not None:
            cmd.extend(('--index-url', index_url))
        if find_links is not None:
            for link in find_links:
                cmd.extend(('--find-links', link))
        # If requirement is a PEP 508 direct URL, directly pass
        # the URL to pip, as `req @ url` does not work on the
        # command line.
        if req.url:
            cmd.append(req.url)
        else:
            cmd.append(str(req))
        try:
            subprocess.check_call(cmd)
        except subprocess.CalledProcessError as e:
            raise DistutilsError(str(e))
        wheel = Wheel(glob.glob(os.path.join(tmpdir, '*.whl'))[0])
        dist_location = os.path.join(eggs_dir, wheel.egg_name())
        wheel.install_as_egg(dist_location)
        dist_metadata = pkg_resources.PathMetadata(
            dist_location, os.path.join(dist_location, 'EGG-INFO'))
        dist = pkg_resources.Distribution.from_filename(
            dist_location, metadata=dist_metadata)
        return dist


def strip_marker(req):
    """
    Return a new requirement without the environment marker to avoid
    calling pip with something like `babel; extra == "i18n"`, which
    would always be ignored.
    """
    # create a copy to avoid mutating the input
    req = pkg_resources.Requirement.parse(str(req))
    req.marker = None
    return req

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
_vendor Folder 0755
command Folder 0755
extern Folder 0755
__init__.py File 7.1 KB 0644
_deprecation_warning.py File 218 B 0644
_imp.py File 2.33 KB 0644
archive_util.py File 6.47 KB 0644
build_meta.py File 9.73 KB 0644
cli-32.exe File 64 KB 0644
cli-64.exe File 73 KB 0644
cli.exe File 64 KB 0644
config.py File 20.09 KB 0644
dep_util.py File 949 B 0644
depends.py File 5.39 KB 0644
dist.py File 48.7 KB 0644
errors.py File 524 B 0644
extension.py File 1.69 KB 0644
glob.py File 4.96 KB 0644
gui-32.exe File 64 KB 0644
gui-64.exe File 73.5 KB 0644
gui.exe File 64 KB 0644
installer.py File 5.21 KB 0644
launch.py File 787 B 0644
lib2to3_ex.py File 1.97 KB 0644
monkey.py File 5.14 KB 0644
msvc.py File 45.71 KB 0644
namespaces.py File 3.15 KB 0644
package_index.py File 40.5 KB 0644
py27compat.py File 1.47 KB 0644
py31compat.py File 838 B 0644
py33compat.py File 1.3 KB 0644
py34compat.py File 245 B 0644
sandbox.py File 13.95 KB 0644
script (dev).tmpl File 218 B 0644
script.tmpl File 138 B 0644
site-patch.py File 2.29 KB 0644
ssl_support.py File 8.34 KB 0644
unicode_utils.py File 996 B 0644
version.py File 144 B 0644
wheel.py File 8.27 KB 0644
windows_support.py File 714 B 0644