[Python-checkins] python/nondist/sandbox/setuptools/setuptools/command alias.py, 1.2, 1.3
pje@users.sourceforge.net
pje at users.sourceforge.net
Fri Jul 8 17:11:26 CEST 2005
- Previous message: [Python-checkins] python/nondist/sandbox/setuptools/setuptools/command alias.py, 1.1, 1.2 rotate.py, 1.1, 1.2
- Next message: [Python-checkins] python/nondist/sandbox/setuptools setuptools.txt, NONE, 1.1 EasyInstall.txt, 1.28, 1.29 setup.py, 1.21, 1.22
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/python/python/nondist/sandbox/setuptools/setuptools/command
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2382/setuptools/command
Modified Files:
alias.py
Log Message:
Restructured the 'alias' command to take arguments instead of options, and
to display the definition of the named alias or of all aliases.
Index: alias.py
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/setuptools/setuptools/command/alias.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- alias.py 8 Jul 2005 05:11:20 -0000 1.2
+++ alias.py 8 Jul 2005 15:11:19 -0000 1.3
@@ -3,37 +3,80 @@
from distutils.util import convert_path
from distutils import log
from distutils.errors import *
-from setuptools.command.setopt import edit_config, option_base
+from setuptools.command.setopt import edit_config, option_base, config_file
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 = [
- ('alias=', 'a', 'the name of the new pseudo-command'),
- ('command=', 'c', 'command(s) and options to invoke when used'),
('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.alias = None
- self.command = None
+ self.args = None
self.remove = None
+
def finalize_options(self):
option_base.finalize_options(self)
- if self.alias is None:
- raise DistutilsOptionError("Must specify name (--alias/-a)")
- if self.command is None and not self.remove:
- raise DistutilsOptionError("Must specify --command or --remove")
+ if self.remove and len(self.args)<>1:
+ raise DistutilsOptionError(
+ "Must specify exactly one argument (the alias name) when "
+ "using --remove"
+ )
+
+
+
+
+
+
+
def run(self):
- edit_config(
- self.filename, {'aliases': {self.alias:self.command}},
- self.dry_run
- )
+ 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 "No alias definition found for %r" % alias
+ return
+ else:
+ alias = self.args[0]
+ command = ' '.join(map(repr,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 = '--filename=%r' % source
+ return source+name+' '+command
+
+
- Previous message: [Python-checkins] python/nondist/sandbox/setuptools/setuptools/command alias.py, 1.1, 1.2 rotate.py, 1.1, 1.2
- Next message: [Python-checkins] python/nondist/sandbox/setuptools setuptools.txt, NONE, 1.1 EasyInstall.txt, 1.28, 1.29 setup.py, 1.21, 1.22
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Python-checkins
mailing list