PHP 8.2.30
Preview: alias.py Size: 2.32 KB
//opt/cloudlinux/venv/lib/python3.11/site-packages/setuptools/command/alias.py

from setuptools.command.setopt import config_file, edit_config, option_base

from distutils.errors import DistutilsOptionError


def shquote(arg):
    """Quote an argument for later parsing by shlex.split()"""
    for c in '"', "'", "\\", "#":
        if c in arg:
            return repr(arg)
    if arg.split() != [arg]:
        return repr(arg)
    return arg


class alias(option_base):
    """Define a shortcut that invokes one or more commands"""

    description = "define a shortcut to invoke one or more commands"
    command_consumes_arguments = True

    user_options = [
        ('remove', 'r', 'remove (unset) the alias'),
    ] + option_base.user_options

    boolean_options = option_base.boolean_options + ['remove']

    def initialize_options(self):
        option_base.initialize_options(self)
        self.args = None
        self.remove = None

    def finalize_options(self) -> None:
        option_base.finalize_options(self)
        if self.remove and len(self.args) != 1:
            raise DistutilsOptionError(
                "Must specify exactly one argument (the alias name) when using --remove"
            )

    def run(self) -> None:
        aliases = self.distribution.get_option_dict('aliases')

        if not self.args:
            print("Command Aliases")
            print("---------------")
            for alias in aliases:
                print("setup.py alias", format_alias(alias, aliases))
            return

        elif len(self.args) == 1:
            (alias,) = self.args
            if self.remove:
                command = None
            elif alias in aliases:
                print("setup.py alias", format_alias(alias, aliases))
                return
            else:
                print(f"No alias definition found for {alias!r}")
                return
        else:
            alias = self.args[0]
            command = ' '.join(map(shquote, self.args[1:]))

        edit_config(self.filename, {'aliases': {alias: command}}, self.dry_run)


def format_alias(name, aliases):
    source, command = aliases[name]
    if source == config_file('global'):
        source = '--global-config '
    elif source == config_file('user'):
        source = '--user-config '
    elif source == config_file('local'):
        source = ''
    else:
        source = f'--filename={source!r}'
    return source + name + ' ' + command

Directory Contents

Dirs: 1 × Files: 25

Name Size Perms Modified Actions
- drwxr-xr-x 2026-02-06 08:05:34
Edit Download
2.32 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
16.55 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
1.40 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
21.73 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
5.91 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
4.42 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
18.03 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
15.17 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
1.57 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
3.37 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
780 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
34.02 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
25.27 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
4.95 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
2.03 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
4.22 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
2.43 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
628 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
2.14 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
692 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
7.20 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
4.98 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
1.31 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
4.13 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
803 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).