Path: blob/master/ invest-robot-contest_TinkoffBotTwitch-main/venv/lib/python3.8/site-packages/setuptools/command/alias.py
7750 views
from distutils.errors import DistutilsOptionError12from setuptools.extern.six.moves import map34from setuptools.command.setopt import edit_config, option_base, config_file567def shquote(arg):8"""Quote an argument for later parsing by shlex.split()"""9for c in '"', "'", "\\", "#":10if c in arg:11return repr(arg)12if arg.split() != [arg]:13return repr(arg)14return arg151617class alias(option_base):18"""Define a shortcut that invokes one or more commands"""1920description = "define a shortcut to invoke one or more commands"21command_consumes_arguments = True2223user_options = [24('remove', 'r', 'remove (unset) the alias'),25] + option_base.user_options2627boolean_options = option_base.boolean_options + ['remove']2829def initialize_options(self):30option_base.initialize_options(self)31self.args = None32self.remove = None3334def finalize_options(self):35option_base.finalize_options(self)36if self.remove and len(self.args) != 1:37raise DistutilsOptionError(38"Must specify exactly one argument (the alias name) when "39"using --remove"40)4142def run(self):43aliases = self.distribution.get_option_dict('aliases')4445if not self.args:46print("Command Aliases")47print("---------------")48for alias in aliases:49print("setup.py alias", format_alias(alias, aliases))50return5152elif len(self.args) == 1:53alias, = self.args54if self.remove:55command = None56elif alias in aliases:57print("setup.py alias", format_alias(alias, aliases))58return59else:60print("No alias definition found for %r" % alias)61return62else:63alias = self.args[0]64command = ' '.join(map(shquote, self.args[1:]))6566edit_config(self.filename, {'aliases': {alias: command}}, self.dry_run)676869def format_alias(name, aliases):70source, command = aliases[name]71if source == config_file('global'):72source = '--global-config '73elif source == config_file('user'):74source = '--user-config '75elif source == config_file('local'):76source = ''77else:78source = '--filename=%r' % source79return source + name + ' ' + command808182