Clarify ImageDraw2 error message when size is missing #8165
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When creating an
ImageDraw2.Drawinstance,imagecan be either an image or a mode string.Pillow/src/PIL/ImageDraw2.py
Lines 59 to 62 in 920698e
If you provide a mode string without a size, you get an error saying that size must be a list or a tuple.
>>> from PIL import ImageDraw2 >>> ImageDraw2.Draw("RGB", size=None) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "PIL/ImageDraw2.py", line 61, in __init__ image = Image.new(image, size, color) File "PIL/Image.py", line 3061, in new _check_size(size) File "PIL/Image.py", line 3029, in _check_size raise ValueError(msg) ValueError: Size must be a list or tupleExcept, if you provided an image as the first argument, then
sizecan beNonewithout a problem.This is conceivably confusing, so this PR clarifies the situation, by changing the error to