404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@18.117.254.203: ~ $
from distutils.util import convert_path
from distutils import log
from distutils.errors import DistutilsOptionError
import distutils
import os

from setuptools.extern.six.moves import configparser

from setuptools import Command

__all__ = ['config_file', 'edit_config', 'option_base', 'setopt']


def config_file(kind="local"):
    """Get the filename of the distutils, local, global, or per-user config

    `kind` must be one of "local", "global", or "user"
    """
    if kind == 'local':
        return 'setup.cfg'
    if kind == 'global':
        return os.path.join(
            os.path.dirname(distutils.__file__), 'distutils.cfg'
        )
    if kind == 'user':
        dot = os.name == 'posix' and '.' or ''
        return os.path.expanduser(convert_path("~/%spydistutils.cfg" % dot))
    raise ValueError(
        "config_file() type must be 'local', 'global', or 'user'", kind
    )


def edit_config(filename, settings, dry_run=False):
    """Edit a configuration file to include `settings`

    `settings` is a dictionary of dictionaries or ``None`` values, keyed by
    command/section name.  A ``None`` value means to delete the entire section,
    while a dictionary lists settings to be changed or deleted in that section.
    A setting of ``None`` means to delete that setting.
    """
    log.debug("Reading configuration from %s", filename)
    opts = configparser.RawConfigParser()
    opts.read([filename])
    for section, options in settings.items():
        if options is None:
            log.info("Deleting section [%s] from %s", section, filename)
            opts.remove_section(section)
        else:
            if not opts.has_section(section):
                log.debug("Adding new section [%s] to %s", section, filename)
                opts.add_section(section)
            for option, value in options.items():
                if value is None:
                    log.debug(
                        "Deleting %s.%s from %s",
                        section, option, filename
                    )
                    opts.remove_option(section, option)
                    if not opts.options(section):
                        log.info("Deleting empty [%s] section from %s",
                                 section, filename)
                        opts.remove_section(section)
                else:
                    log.debug(
                        "Setting %s.%s to %r in %s",
                        section, option, value, filename
                    )
                    opts.set(section, option, value)

    log.info("Writing %s", filename)
    if not dry_run:
        with open(filename, 'w') as f:
            opts.write(f)


class option_base(Command):
    """Abstract base class for commands that mess with config files"""

    user_options = [
        ('global-config', 'g',
         "save options to the site-wide distutils.cfg file"),
        ('user-config', 'u',
         "save options to the current user's pydistutils.cfg file"),
        ('filename=', 'f',
         "configuration file to use (default=setup.cfg)"),
    ]

    boolean_options = [
        'global-config', 'user-config',
    ]

    def initialize_options(self):
        self.global_config = None
        self.user_config = None
        self.filename = None

    def finalize_options(self):
        filenames = []
        if self.global_config:
            filenames.append(config_file('global'))
        if self.user_config:
            filenames.append(config_file('user'))
        if self.filename is not None:
            filenames.append(self.filename)
        if not filenames:
            filenames.append(config_file('local'))
        if len(filenames) > 1:
            raise DistutilsOptionError(
                "Must specify only one configuration file option",
                filenames
            )
        self.filename, = filenames


class setopt(option_base):
    """Save command-line options to a file"""

    description = "set an option in setup.cfg or another config file"

    user_options = [
        ('command=', 'c', 'command to set an option for'),
        ('option=', 'o', 'option to set'),
        ('set-value=', 's', 'value of the option'),
        ('remove', 'r', 'remove (unset) the value'),
    ] + option_base.user_options

    boolean_options = option_base.boolean_options + ['remove']

    def initialize_options(self):
        option_base.initialize_options(self)
        self.command = None
        self.option = None
        self.set_value = None
        self.remove = None

    def finalize_options(self):
        option_base.finalize_options(self)
        if self.command is None or self.option is None:
            raise DistutilsOptionError("Must specify --command *and* --option")
        if self.set_value is None and not self.remove:
            raise DistutilsOptionError("Must specify --set-value or --remove")

    def run(self):
        edit_config(
            self.filename, {
                self.command: {self.option.replace('-', '_'): self.set_value}
            },
            self.dry_run
        )

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