Always initialize all plugins in registered_extensions() #6811
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.
Resolves #6809
In
registered_extensions()
, if there are anyEXTENSIONS
present, then it doesn't callinit()
.Pillow/src/PIL/Image.py
Lines 3416 to 3423 in 7f6fe3c
This means that
returns more extensions than
does. This seems unexpected to the user.
The original logic came from #1968, which was merged in #2343.
This PR adjusts it to always call
init()
, to make sure that all plugins are initialised. This is not an expensive operation, as there is still a check for the_initialized
value to see if it has already been done.I've adjusted the test to remove the resetting of
EXTENSION
, which is no longer relevant to this function.