register_decoder() and register_encoder() state that decoder/encoder are callables that return an object.
|
def register_decoder(name: str, decoder) -> None: |
|
""" |
|
Registers an image decoder. This function should not be |
|
used in application code. |
|
|
|
:param name: The name of the decoder |
|
:param decoder: A callable(mode, args) that returns an |
|
ImageFile.PyDecoder object |
|
def register_encoder(name, encoder): |
|
""" |
|
Registers an image encoder. This function should not be |
|
used in application code. |
|
|
|
:param name: The name of the encoder |
|
:param encoder: A callable(mode, args) that returns an |
|
ImageFile.PyEncoder object |
However, if you look at Pillow's source code, it is not a callable, it is just an object.
|
Image.register_decoder("BLP1", BLP1Decoder) |
|
Image.register_decoder("BLP2", BLP2Decoder) |
|
|
|
Image.register_save(BlpImageFile.format, _save) |
|
Image.register_encoder("BLP", BLPEncoder) |
|
Image.register_decoder("ppm", PpmDecoder) |
|
Image.register_decoder("ppm_plain", PpmPlainDecoder) |
|
Image.register_decoder("dds_rgb", DdsRgbDecoder) |
|
Image.register_decoder("SGI16", SGI16Decoder) |
This PR updates the docstrings, clarifies this by adding type hints, and updates the tests (which did treat the arguments as callables).