[issue31768] argparse drops '|'s when the arguments are too long

2021-12-10 Thread Irit Katriel
Irit Katriel added the comment: In 3.11 the problem is still there, but the cutoff to make Eric's script show it is now 26 rather than 8: % ./python.exe tt.py 25 usage: tt.py [-h] [-v | -q | -x [X] | -y [Y] | Z | Z | Z | Z | Z | Z | Z | Z | Z | Z | Z | Z | Z | Z | Z | Z | Z | Z | Z | Z | Z |

[issue31768] argparse drops '|'s when the arguments are too long

2017-10-12 Thread paul j3
paul j3 added the comment: I've changed your example a bit to clarify some points. parser.add_argument('n', type=int) group = parser.add_mutually_exclusive_group() group.add_argument("-v", "--verbose", action="store_true") group.add_argument("-q", "--quiet", action="store_true")

[issue31768] argparse drops '|'s when the arguments are too long

2017-10-12 Thread paul j3
paul j3 added the comment: As documented in many other issues, the usage formatter is brittle. It formats the individual usages, joins them into a string. Then if too long to fit on one line it tries t split into actions, etc. This split produces an assertion error if there are 'wierd' char

[issue31768] argparse drops '|'s when the arguments are too long

2017-10-11 Thread Louie Lu
Louie Lu added the comment: the format of usage is do at argparse.py:296. So how do we format this kind of situation, to be like this, if the group also too long? usage: test.py [-h] [-v | -q | -x [X] | -y [Y] | Z | Z | Z | Z | Z | Z | Z | Z] Also, anothe

[issue31768] argparse drops '|'s when the arguments are too long

2017-10-11 Thread Eric V. Smith
Eric V. Smith added the comment: Good point. -- ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.

[issue31768] argparse drops '|'s when the arguments are too long

2017-10-11 Thread caveman
caveman added the comment: When | is dropped, it means that the arguments/options are no longer mutually exclusive, which renders the resultant help menu incorrect. -- ___ Python tracker

[issue31768] argparse drops '|'s when the arguments are too long

2017-10-11 Thread Eric V. Smith
Eric V. Smith added the comment: Removing versions 3.4 and 3.8. Attaching a reproducing script. Run it with a parameter of the number of arguments to add. The behavior changes between 7 and 8, although I'm not sure either is wrong, just different. This is from Windows: % python3 31768.py 7

[issue31768] argparse drops '|'s when the arguments are too long

2017-10-11 Thread caveman
caveman added the comment: forgot to add: when you execute the code, pass the argument '-h' in order to have the script generate the help menu text. -- ___ Python tracker ___

[issue31768] argparse drops '|'s when the arguments are too long

2017-10-11 Thread caveman
New submission from caveman : if you execute the code below, mutually exclusive agrs are separated by '|' as expected. but if you uncomment the 1 line down there, then the args list will be too long, and as argparse tries to wrap the args around, it drops all '|'s which semantically destroys t