[Python-checkins] r42312 - in sandbox/trunk/setuptools: EasyInstall.txt setuptools/command/easy_install.py

phillip.eby python-checkins at python.org
Fri Feb 10 23:23:48 CET 2006


Author: phillip.eby
Date: Fri Feb 10 23:23:48 2006
New Revision: 42312
Modified:
 sandbox/trunk/setuptools/EasyInstall.txt
 sandbox/trunk/setuptools/setuptools/command/easy_install.py
Log:
Fixed the annoying ``--help-commands`` wart, albeit in a most
unfortunately kludgy fashion.
Modified: sandbox/trunk/setuptools/EasyInstall.txt
==============================================================================
--- sandbox/trunk/setuptools/EasyInstall.txt	(original)
+++ sandbox/trunk/setuptools/EasyInstall.txt	Fri Feb 10 23:23:48 2006
@@ -1009,6 +1009,7 @@
 package search was already going to go online due to a package not being
 available locally, or due to the use of the ``--update`` or ``-U`` option.
 
+ * Fixed the annoying ``--help-commands`` wart.
 
 0.6a9
 * Fixed ``.pth`` file processing picking up nested eggs (i.e. ones inside
Modified: sandbox/trunk/setuptools/setuptools/command/easy_install.py
==============================================================================
--- sandbox/trunk/setuptools/setuptools/command/easy_install.py	(original)
+++ sandbox/trunk/setuptools/setuptools/command/easy_install.py	Fri Feb 10 23:23:48 2006
@@ -1254,12 +1254,6 @@
 options = ' '+options
 return "#!%(executable)s%(options)s\n" % locals()
 
-def main(argv=None, **kw):
- from setuptools import setup
- if argv is None:
- argv = sys.argv[1:]
- setup(script_args = ['-q','easy_install', '-v']+argv, **kw)
-
 
 def auto_chmod(func, arg, exc):
 if func is os.remove and os.name=='nt':
@@ -1269,6 +1263,12 @@
 raise exc[0], (exc[1][0], exc[1][1] + (" %s %s" % (func,arg)))
 
 
+
+
+
+
+
+
 def get_script_args(dist, executable=sys_executable):
 """Yield write_script() argument tuples for a distribution's entrypoints"""
 spec = str(dist.as_requirement())
@@ -1351,3 +1351,44 @@
 
 
 
+def main(argv=None, **kw):
+ from setuptools import setup
+ from setuptools.dist import Distribution
+ import distutils.core
+
+ USAGE = """\
+usage: %(script)s [options] requirement_or_url ...
+ or: %(script)s --help
+"""
+ 
+ def gen_usage (script_name):
+ script = os.path.basename(script_name)
+ return USAGE % vars()
+
+ def with_ei_usage(f):
+ old_gen_usage = distutils.core.gen_usage
+ try:
+ distutils.core.gen_usage = gen_usage
+ return f()
+ finally:
+ distutils.core.gen_usage = old_gen_usage
+ 
+ class DistributionWithoutHelpCommands(Distribution):
+ def _show_help(self,*args,**kw):
+ with_ei_usage(lambda: Distribution._show_help(self,*args,**kw))
+
+ if argv is None:
+ argv = sys.argv[1:]
+
+ with_ei_usage(lambda:
+ setup(
+ script_args = ['-q','easy_install', '-v']+argv, 
+ distclass=DistributionWithoutHelpCommands, **kw
+ )
+ )
+
+
+
+
+
+


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /