mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-11-15 06:07:33 +03:00
Deprecate ImageCore.id and ImageCore.unsafe_ptrs
This commit is contained in:
parent
f246be7b13
commit
7435a06cbb
|
@ -1,11 +1,19 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import pytest
|
||||
|
||||
from .helper import hopper
|
||||
|
||||
|
||||
def test_sanity() -> None:
|
||||
im = hopper()
|
||||
type_repr = repr(type(im.getim()))
|
||||
|
||||
type_repr = repr(type(im.getim()))
|
||||
assert "PyCapsule" in type_repr
|
||||
|
||||
with pytest.warns(DeprecationWarning):
|
||||
assert isinstance(im.im.id, int)
|
||||
|
||||
with pytest.warns(DeprecationWarning):
|
||||
ptrs = dict(im.im.unsafe_ptrs)
|
||||
assert all(k in ptrs for k in ["image8", "image32", "image"])
|
||||
|
|
|
@ -136,6 +136,16 @@ Specific WebP Feature Checks
|
|||
``True`` if the WebP module is installed, until they are removed in Pillow
|
||||
12.0.0 (2025-10-15).
|
||||
|
||||
Get Internal Pointers to Objects
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. deprecated:: 11.0.0
|
||||
|
||||
``Image.core.ImageCore.id`` and ``Image.core.ImageCore.unsafe_ptrs``
|
||||
have been deprecated and will be removed in Pillow 12 (2025-10-15).
|
||||
They were used for obtaining raw pointers to ``ImageCore`` internals. To interact with
|
||||
C code, you can use ``Image.core.ImageCore.ptr``, which returns a ``PyCapsule`` object.
|
||||
|
||||
Removed features
|
||||
----------------
|
||||
|
||||
|
|
|
@ -3707,6 +3707,13 @@ _getattr_bands(ImagingObject *self, void *closure) {
|
|||
|
||||
static PyObject *
|
||||
_getattr_id(ImagingObject *self, void *closure) {
|
||||
if (PyErr_WarnEx(
|
||||
PyExc_DeprecationWarning,
|
||||
"id property is deprecated and will be removed in Pillow 12.0",
|
||||
1
|
||||
) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
return PyLong_FromSsize_t((Py_ssize_t)self->image);
|
||||
}
|
||||
|
||||
|
@ -3717,6 +3724,13 @@ _getattr_ptr(ImagingObject *self, void *closure) {
|
|||
|
||||
static PyObject *
|
||||
_getattr_unsafe_ptrs(ImagingObject *self, void *closure) {
|
||||
if (PyErr_WarnEx(
|
||||
PyExc_DeprecationWarning,
|
||||
"unsafe_ptrs property is deprecated and will be removed in Pillow 12.0",
|
||||
1
|
||||
) < 0) {
|
||||
return NULL;
|
||||
}
|
||||
return Py_BuildValue(
|
||||
"(sn)(sn)(sn)",
|
||||
"image8",
|
||||
|
|
|
@ -61,7 +61,7 @@ typedef struct ImagingOutlineInstance *ImagingOutline;
|
|||
typedef struct ImagingPaletteInstance *ImagingPalette;
|
||||
|
||||
/* handle magics (used with PyCObject). */
|
||||
#define IMAGING_MAGIC "PIL Imaging"
|
||||
#define IMAGING_MAGIC "Pillow Imaging"
|
||||
|
||||
/* pixel types */
|
||||
#define IMAGING_TYPE_UINT8 0
|
||||
|
|
Loading…
Reference in New Issue
Block a user