10.18 distutils.fancy_getopt -- Wrapper around the standard getopt module

Python 2.4

10.18 distutils.fancy_getopt -- Wrapper around the standard getopt module

This module provides a wrapper around the standard getopt module that provides the following additional features:

  • short and long options are tied together
  • options have help strings, so fancy_getopt could potentially create a complete usage summary
  • options set attributes of a passed-in object
  • boolean options can have ``negative aliases'' -- eg. if --quiet is the ``negative alias'' of --verbose, then --quiet on the command line sets verbose to false.

Should be replaced with optik (which is also now known as optparse in Python 2.3 and later).

Wrapper function. options is a list of "(long_option, short_option, help_string)" 3-tuples as described in the constructor for FancyGetopt. negative_opt should be a dictionary mapping option names to option names, both the key and value should be in the options list. object is an object which will be used to store values (see the getopt() method of the FancyGetopt class). args is the argument list. Will use sys.argv[1:] if you pass None as args.

Wraps text to less than width wide.

Warning: Should be replaced with textwrap (which is available in Python 2.3 and later).

The option_table is a list of 3-tuples: "(long_option, short_option, help_string)"

If an option takes an argument, it's long_option should have '=' appended; short_option should just be a single character, no ':' in any case. short_option should be None if a long_option doesn't have a corresponding short_option. All option tuples must have long options.

The FancyGetopt class provides the following methods:

Parse command-line options in args. Store as attributes on object.

If args is None or not supplied, uses sys.argv[1:]. If object is None or not supplied, creates a new OptionDummy instance, stores option values there, and returns a tuple "(args, object)". If object is supplied, it is modified in place and getopt() just returns args; in both cases, the returned args is a modified copy of the passed-in args list, which is left untouched.

Returns the list of "(option, value)" tuples processed by the previous run of getopt() Raises RuntimeError if getopt() hasn't been called yet.

Generate help text (a list of strings, one per suggested line of output) from the option table for this FancyGetopt object.

If supplied, prints the supplied header at the top of the help.

See About this document... for information on suggesting changes.