add check for deprecated rawmodes when creating an ImagePalette

This commit is contained in:
Yay295 2024-06-26 09:51:16 -05:00
parent 2c4df4efd8
commit ad7ecd4680
2 changed files with 16 additions and 0 deletions

View File

@ -158,6 +158,12 @@ def test_rawmode_valueerrors(tmp_path: Path) -> None:
palette.save(f)
@pytest.mark.parametrize("rawmode", Image._DEPRECATED_RAWMODES)
def test_rawmode_deprecated(rawmode: str) -> None:
with pytest.warns(DeprecationWarning):
ImagePalette.raw(rawmode, b"")
def test_getdata() -> None:
# Arrange
data_in = list(range(256)) * 3

View File

@ -209,6 +209,16 @@ class ImagePalette:
def raw(rawmode: str, data: Sequence[int] | bytes | bytearray) -> ImagePalette:
from . import Image
from ._deprecate import deprecate
if rawmode in Image._DEPRECATED_RAWMODES:
deprecate(
f"rawmode {rawmode}",
12,
replacement=f"rawmode {Image._DEPRECATED_RAWMODES[rawmode]}",
)
palette = ImagePalette()
palette.rawmode = rawmode
palette.palette = data