Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #13097

Re: optionparse: how to add a line break to the help text

Newsgroups comp.lang.python
Subject Re: optionparse: how to add a line break to the help text
References <j4gi5r$gjc$1@dough.gmane.org> <mailman.952.1315693006.27778.python-list@python.org>
From "Rhodri James" <rhodri@wildebst.demon.co.uk>
Message-ID <op.v1mdm0oba8ncjz@gnudebst> (permalink)
Organization virginmedia.com
Date 2011-09-11 02:12 +0100

Show all headers | View raw


On Sat, 10 Sep 2011 23:16:42 +0100, Rafael Durán Castañeda  
<rafadurancastaneda@gmail.com> wrote:

> On 10/09/11 22:43, Gelonida N wrote:
>> I'm having a small question about optionparse.
>>
>> Normaly optionparser will format the help text according to the
>> console's width.
>>
>> I just wondered if there is any way to insert a line breakk into an
>> options help text.
>>
>> Example:
>>
>> from optparse import OptionParser
>>
>> parser = OptionParser()
>> parser.add_option("-f", action="store",
>>      help="This option is really really complicated"
>>           " and I'd like to write"
>>           " a few paragrpahs to explain how it works."
>>           "\nHowever the line breaks are stripped off"
>>           " and it's thus difficult to structure the help text")
>>
>> args = ['-h']
>> parser.parse_args(args)
>>
>> Is there any trick to force a new paragraph/ line break before the word
>> 'However'?
>>
>>
>> Thanks in advance for suggestions.
>>
>>
> You can use """ for multiple line texts:
>  >>> text = \
> ... """fsdfsfsdfsdf
> ...     sfsdfsfsdf
> ... sdfsdf  s
> ...
> ... """
>  >>> text
> 'fsdfsfsdfsdf\n    sfsdfsfsdf\nsdfsdf  s\n\n'

Unfortunately the help text is formatted using textwrap, which presumes  
that the entire text is a single paragraph.  To get paragraphs in the help  
text, you'll need to write an IndentedHelpFormatter subclass that splits  
the text on "\n\n", textwraps the split string individually, then re-joins  
them.  _format_text() and format_option() look like the methods that would  
need replacing.

-- 
Rhodri James *-* Wildebeest Herder to the Masses

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: optionparse: how to add a line break to the help text Rafael Durán Castañeda <rafadurancastaneda@gmail.com> - 2011-09-11 00:16 +0200
  Re: optionparse: how to add a line break to the help text "Rhodri James" <rhodri@wildebst.demon.co.uk> - 2011-09-11 02:12 +0100
    Re: optionparse: how to add a line break to the help text Gelonida N <gelonida@gmail.com> - 2011-09-11 03:54 +0200
    Re: optionparse: how to add a line break to the help text Tim Chase <python.list@tim.thechases.com> - 2011-09-10 21:08 -0500
    Re: optionparse: how to add a line break to the help text Gelonida N <gelonida@gmail.com> - 2011-09-11 05:07 +0200
      Re: optionparse: how to add a line break to the help text Ben Finney <ben+python@benfinney.id.au> - 2011-09-11 15:20 +1000
        Re: optionparse: how to add a line break to the help text Gelonida N <gelonida@gmail.com> - 2011-09-11 16:30 +0200
    Re: optionparse: how to add a line break to the help text Tim Chase <python.list@tim.thechases.com> - 2011-09-11 06:05 -0500
    Re: optionparse: how to add a line break to the help text Robert Kern <robert.kern@gmail.com> - 2011-09-11 15:22 -0500

csiph-web