Author paul.j3
Recipients bethard, eric.araujo, htnieman, manveru, paul.j3, tshepang, vajrasky, xuanji, ysj.ray
Date 2013-07-16.20:26:24
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1374006385.31.0.855150013096.issue11874@psf.upfronthosting.co.za>
In-reply-to
Content
Here's a patch that takes a different approach - rewrite _format_actions_usage() so it formats groups (and unattached actions) directly.  

It uses the same logic to determine when to format a group, but then it calls _format_group_usage() to format the group, without the error prone insert and cleanup business.  And by keeping a list of the parts, it avoids the complications of parsing the text.  The only cleanup regex removes () from single element groups.

In the nested get_lines function, I added 'line and' to 

   if line and line_len + 1 + len(part) > text_width:

so it does not create a blank line before an extra long entry (e.g. 'c'*76).

I'm using the _format_group_usage() and _format_just_actions_usage() in the Issue 10984 MultiGroupFormatter, just rearranging the logic in its _format_actions_usage() method.  That patch could be rewritten to depend on this one.

This patch also fixes http://bugs.python.org/issue18349, since the metavar is never parsed.
History
Date User Action Args
2013-07-16 20:26:25paul.j3setrecipients: + paul.j3, bethard, eric.araujo, ysj.ray, xuanji, tshepang, htnieman, manveru, vajrasky
2013-07-16 20:26:25paul.j3setmessageid: <1374006385.31.0.855150013096.issue11874@psf.upfronthosting.co.za>
2013-07-16 20:26:25paul.j3linkissue11874 messages
2013-07-16 20:26:25paul.j3create