"T" <[EMAIL PROTECTED]> writes:
[...]
>  What I would like to do is insert some string *before* the "usage = "
> string, which is right after the command I type at the command prompt.
> So I would like to make it look like this:
> 
> % myprog.py -h
> ************ THIS IS NEWLY INSERTED STRING ************
> usage: myprog.py [options] input_file
> 
> 
> options:
>   -h, --help             show this help message and exit
>   -v, --verbose        print program's version number and exit
>   -o FILE               Output file

HelpFormatter is what you need.  Seems undocumented in the official
docs, but doesn't look risky to use (famous last words).  Seems just
that nobody got around to documenting it.

import optparse

class NonstandardHelpFormatter(optparse.HelpFormatter):

    def __init__(self,
                 indent_increment=2,
                 max_help_position=24,
                 width=None,
                 short_first=1):
        optparse.HelpFormatter.__init__(
            self, indent_increment, max_help_position, width, short_first)

    def format_usage(self, usage):
        return "************ THIS IS NEWLY INSERTED STRING ************\nusage: 
%s\n" % usage

    def format_heading(self, heading):
        return "%*s%s:\n" % (self.current_indent, "", heading)

parser = optparse.OptionParser(
    usage="%prog [options] input_file",
    formatter=NonstandardHelpFormatter())
parser.parse_args()


John
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to