summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Ward <gward@python.net>2000-06-24 01:23:37 (GMT)
committerGreg Ward <gward@python.net>2000-06-24 01:23:37 (GMT)
commit3459381e2a271981e09441752962b748869adf5d (patch)
treefb12badb277c876627bbfbe2a2a1628941bb6234
parent55fced3df9efac28e4ead6e3115a4e8658e28bf5 (diff)
downloadcpython-3459381e2a271981e09441752962b748869adf5d.zip
cpython-3459381e2a271981e09441752962b748869adf5d.tar.gz
cpython-3459381e2a271981e09441752962b748869adf5d.tar.bz2
Changed so all the help-generating functions are defined, at module-level,
in the module of the command classes that have command-specific help options. This lets us keep the principle of lazily importing the ccompiler module, and also gets away from defining non-methods at class level.
-rw-r--r--Lib/distutils/command/bdist.py38
-rw-r--r--Lib/distutils/command/build.py7
-rw-r--r--Lib/distutils/command/build_clib.py7
-rw-r--r--Lib/distutils/command/build_ext.py10
-rw-r--r--Lib/distutils/command/sdist.py35
5 files changed, 56 insertions, 41 deletions
diff --git a/Lib/distutils/command/bdist.py b/Lib/distutils/command/bdist.py
index 1646993..47d4cbc 100644
--- a/Lib/distutils/command/bdist.py
+++ b/Lib/distutils/command/bdist.py
@@ -14,6 +14,18 @@ from distutils.errors import *
from distutils.util import get_platform
+def show_formats ():
+ """Print list of available formats (arguments to "--format" option).
+ """
+ from distutils.fancy_getopt import FancyGetopt
+ formats=[]
+ for format in bdist.format_commands:
+ formats.append(("formats=" + format, None,
+ bdist.format_command[format][1]))
+ pretty_printer = FancyGetopt(formats)
+ pretty_printer.print_help("List of available distribution formats:")
+
+
class bdist (Command):
description = "create a built (binary) distribution"
@@ -24,6 +36,11 @@ class bdist (Command):
"formats for distribution (comma-separated list)"),
]
+ help_options = [
+ ('help-formats', None,
+ "lists available distribution formats", show_formats),
+ ]
+
# The following commands do not take a format option from bdist
no_format_option = ('bdist_rpm',)
@@ -38,24 +55,9 @@ class bdist (Command):
'ztar': ('bdist_dumb', "compressed tar file"),
'tar': ('bdist_dumb', "tar file"),
'zip': ('bdist_dumb', "ZIP file"),
- }
-
- def show_formats ():
- """Print list of available formats (arguments to "--format" option).
- """
- from distutils.fancy_getopt import FancyGetopt
- formats=[]
- for format in bdist.format_command.keys():
- formats.append(("formats="+format, None,
- bdist.format_command[format][1]))
- formats.sort()
- pretty_printer = FancyGetopt(formats)
- pretty_printer.print_help("List of available distribution formats:")
-
- help_options = [
- ('help-formats', None,
- "lists available distribution formats",show_formats),
- ]
+ }
+ # establish the preferred order
+ format_commands = ['rpm', 'gztar', 'bztar', 'ztar', 'tar', 'zip']
def initialize_options (self):
diff --git a/Lib/distutils/command/build.py b/Lib/distutils/command/build.py
index d5513fc..1e87f23 100644
--- a/Lib/distutils/command/build.py
+++ b/Lib/distutils/command/build.py
@@ -9,7 +9,12 @@ __revision__ = "$Id$"
import sys, os
from distutils.core import Command
from distutils.util import get_platform
-from distutils.ccompiler import show_compilers
+
+
+def show_compilers ():
+ from distutils.ccompiler import show_compilers
+ show_compilers()
+
class build (Command):
diff --git a/Lib/distutils/command/build_clib.py b/Lib/distutils/command/build_clib.py
index 9a82ac0..7106882 100644
--- a/Lib/distutils/command/build_clib.py
+++ b/Lib/distutils/command/build_clib.py
@@ -23,7 +23,11 @@ import os, string
from types import *
from distutils.core import Command
from distutils.errors import *
-from distutils.ccompiler import new_compiler,show_compilers
+
+
+def show_compilers ():
+ from distutils.ccompiler import show_compilers
+ show_compilers()
class build_clib (Command):
@@ -102,6 +106,7 @@ class build_clib (Command):
return
# Yech -- this is cut 'n pasted from build_ext.py!
+ from distutils.ccompiler import new_compiler
self.compiler = new_compiler (compiler=self.compiler,
verbose=self.verbose,
dry_run=self.dry_run,
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
index f3ff157..6b7ec74 100644
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -14,7 +14,6 @@ from distutils.core import Command
from distutils.errors import *
from distutils.dep_util import newer_group
from distutils.extension import Extension
-from distutils.ccompiler import show_compilers
# An extension name is just a dot-separated list of Python NAMEs (ie.
# the same as a fully-qualified module name).
@@ -22,6 +21,11 @@ extension_name_re = re.compile \
(r'^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$')
+def show_compilers ():
+ from distutils.ccompiler import show_compilers
+ show_compilers()
+
+
class build_ext (Command):
description = "build C/C++ extensions (compile/link to build directory)"
@@ -73,12 +77,12 @@ class build_ext (Command):
('compiler=', 'c',
"specify the compiler type"),
]
+
help_options = [
('help-compiler', None,
- "lists available compilers",show_compilers),
+ "list available compilers", show_compilers),
]
-
def initialize_options (self):
self.extensions = None
self.build_lib = None
diff --git a/Lib/distutils/command/sdist.py b/Lib/distutils/command/sdist.py
index 93e53bb..5627ebb 100644
--- a/Lib/distutils/command/sdist.py
+++ b/Lib/distutils/command/sdist.py
@@ -13,11 +13,27 @@ from glob import glob
from distutils.core import Command
from distutils.util import \
convert_path, create_tree, remove_tree, newer, write_file, \
- check_archive_formats, ARCHIVE_FORMATS
+ check_archive_formats
from distutils.text_file import TextFile
from distutils.errors import DistutilsExecError, DistutilsOptionError
+def show_formats ():
+ """Print all possible values for the 'formats' option (used by
+ the "--help-formats" command-line option).
+ """
+ from distutils.fancy_getopt import FancyGetopt
+ from distutils.archive_util import ARCHIVE_FORMATS
+ formats=[]
+ for format in ARCHIVE_FORMATS.keys():
+ formats.append(("formats=" + format, None,
+ ARCHIVE_FORMATS[format][2]))
+ formats.sort()
+ pretty_printer = FancyGetopt(formats)
+ pretty_printer.print_help(
+ "List of available source distribution formats:")
+
+
class sdist (Command):
description = "create a source distribution (tarball, zip file, etc.)"
@@ -43,22 +59,6 @@ class sdist (Command):
]
- # XXX ugh: this has to precede the 'help_options' list, because
- # it is mentioned there -- also, this is not a method, even though
- # it's defined in a class: double-ugh!
- def show_formats ():
- """Print all possible values for the 'formats' option -- used by
- the "--help-formats" command-line option.
- """
- from distutils.fancy_getopt import FancyGetopt
- formats=[]
- for format in ARCHIVE_FORMATS.keys():
- formats.append(("formats="+format,None,ARCHIVE_FORMATS[format][2]))
- formats.sort()
- pretty_printer = FancyGetopt(formats)
- pretty_printer.print_help(
- "List of available source distribution formats:")
-
help_options = [
('help-formats', None,
"list available distribution formats", show_formats),
@@ -69,7 +69,6 @@ class sdist (Command):
default_format = { 'posix': 'gztar',
'nt': 'zip' }
-
def initialize_options (self):
# 'template' and 'manifest' are, respectively, the names of
# the manifest template and manifest file.