Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allow multiple=True with flags #2550

Merged
merged 1 commit into from
Jul 3, 2023
Merged

allow multiple=True with flags #2550

merged 1 commit into from
Jul 3, 2023

Conversation

davidism
Copy link
Member

@davidism davidism commented Jul 3, 2023

#2246 reported that multiple=True didn't work with flags since default=() was also required. I can't remember the original conversation around that, but instead of setting the default, #2248 made multiple=True with flags an error. Comments on the PR, as well as #2292 and #2295 reported that this broke valid uses.

This removes the error and instead sets default=() if multiple=True for flags. This works if the option is a flag due to a secondary token (-y/-n), is_flag=True, or flag_value=value.

fixes #2246
fixes #2292
fixes #2295

@davidism davidism added this to the 8.1.4 milestone Jul 3, 2023
co-authored-by: Amethyst Reese <[email protected]>
@davidism
Copy link
Member Author

davidism commented Jul 3, 2023

OK, I did find #2247, which is essentially the same as this PR, and we closed that in favor of the error because it seemed like count=True should be more appropriate than multiple=True, is_flag=True. But that was because there were no test cases demonstrating uses of that pattern, and now people posted a bunch of examples, so I think this is the correct fix.

@davidism davidism merged commit c77966e into 8.1.x Jul 3, 2023
@davidism davidism deleted the multiple-flag branch July 3, 2023 16:31
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 18, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant