Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove long-deprecated Image.py functions #4798

Merged
merged 5 commits into from Jul 24, 2020
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
12 changes: 0 additions & 12 deletions Tests/test_image.py
Expand Up @@ -466,18 +466,6 @@ def test_storage_neg(self):
with pytest.raises(ValueError):
Image.core.fill("RGB", (2, -2), (0, 0, 0))

def test_offset_not_implemented(self):
# Arrange
with hopper() as im:

# Act / Assert
with pytest.raises(NotImplementedError):
im.offset(None)

def test_fromstring(self):
with pytest.raises(NotImplementedError):
Image.fromstring()

def test_linear_gradient_wrong_mode(self):
# Arrange
wrong_mode = "RGB"
Expand Down
6 changes: 0 additions & 6 deletions Tests/test_image_frombytes.py
@@ -1,4 +1,3 @@
import pytest
from PIL import Image

from .helper import assert_image_equal, hopper
Expand All @@ -9,8 +8,3 @@ def test_sanity():
im2 = Image.frombytes(im1.mode, im1.size, im1.tobytes())

assert_image_equal(im1, im2)


def test_not_implemented():
with pytest.raises(NotImplementedError):
Image.fromstring()
27 changes: 27 additions & 0 deletions docs/deprecations.rst
Expand Up @@ -55,6 +55,33 @@ Removed features
Deprecated features are only removed in major releases after an appropriate
period of deprecation has passed.

im.offset
~~~~~~~~~

.. deprecated:: 1.1.2
.. versionremoved:: 8.0.0

``im.offset()`` has been removed, call ``ImageChops.offset()`` instead.

It was documented as deprecated in PIL 1.1.2,
raised a ``DeprecationWarning`` since 1.1.5,
an ``Exception`` since Pillow 3.0.0
and ``NotImplementedError`` since 3.3.0.

im.fromstring and tostring
~~~~~~~~~~~~~~~~~~~~~~~~~~
hugovk marked this conversation as resolved.
Show resolved Hide resolved

.. deprecated:: 2.0.0
.. versionremoved:: 8.0.0

* ``Image.fromstring()`` has been removed, call :py:func:`.Image.frombytes()` instead.
* ``im.fromstring()`` has been removed, call :py:meth:`~PIL.Image.Image.frombytes()` instead.
* ``im.tostring()`` has been removed, call :py:meth:`~PIL.Image.Image.tobytes()` instead.

They issued a ``DeprecationWarning`` since 2.0.0,
an ``Exception`` since 3.0.0
and ``NotImplementedError`` since 3.3.0.

ImageCms.CmsProfile attributes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down
5 changes: 1 addition & 4 deletions docs/reference/Image.rst
Expand Up @@ -151,6 +151,7 @@ This crops the input image with the provided coordinates:
.. automethod:: PIL.Image.Image.draft
.. automethod:: PIL.Image.Image.effect_spread
.. automethod:: PIL.Image.Image.entropy
.. automethod:: PIL.Image.Image.frombytes
.. automethod:: PIL.Image.Image.filter
hugovk marked this conversation as resolved.
Show resolved Hide resolved

This blurs the input image using a filter from the ``ImageFilter`` module:
Expand Down Expand Up @@ -196,7 +197,6 @@ This helps to get the bounding box coordinates of the input image:
.. automethod:: PIL.Image.Image.getpixel
.. automethod:: PIL.Image.Image.getprojection
.. automethod:: PIL.Image.Image.histogram
.. automethod:: PIL.Image.Image.offset
.. automethod:: PIL.Image.Image.paste
.. automethod:: PIL.Image.Image.point
.. automethod:: PIL.Image.Image.putalpha
Expand Down Expand Up @@ -243,7 +243,6 @@ This rotates the input image by ``theta`` degrees counter clockwise:
.. automethod:: PIL.Image.Image.thumbnail
.. automethod:: PIL.Image.Image.tobitmap
.. automethod:: PIL.Image.Image.tobytes
.. automethod:: PIL.Image.Image.tostring
.. automethod:: PIL.Image.Image.transform
.. automethod:: PIL.Image.Image.transpose

Expand All @@ -263,8 +262,6 @@ This flips the input image by using the :data:`FLIP_LEFT_RIGHT` method.

.. automethod:: PIL.Image.Image.verify

.. automethod:: PIL.Image.Image.fromstring
hugovk marked this conversation as resolved.
Show resolved Hide resolved

.. automethod:: PIL.Image.Image.load
.. automethod:: PIL.Image.Image.close

Expand Down
21 changes: 0 additions & 21 deletions src/PIL/Image.py
Expand Up @@ -746,11 +746,6 @@ def tobytes(self, encoder_name="raw", *args):

return b"".join(data)

def tostring(self, *args, **kw):
raise NotImplementedError(
"tostring() has been removed. Please call tobytes() instead."
)

def tobitmap(self, name="image"):
"""
Returns the image converted to an X11 bitmap.
Expand Down Expand Up @@ -802,11 +797,6 @@ def frombytes(self, data, decoder_name="raw", *args):
if s[1] != 0:
raise ValueError("cannot decode image data")

def fromstring(self, *args, **kw):
raise NotImplementedError(
"fromstring() has been removed. Please call frombytes() instead."
)

def load(self):
"""
Allocates storage for the image and loads the pixel data. In
Expand Down Expand Up @@ -1434,11 +1424,6 @@ def entropy(self, mask=None, extrema=None):
return self.im.entropy(extrema)
return self.im.entropy()

def offset(self, xoffset, yoffset=None):
raise NotImplementedError(
"offset() has been removed. Please call ImageChops.offset() instead."
)

def paste(self, im, box=None, mask=None):
"""
Pastes another image into this image. The box argument is either
Expand Down Expand Up @@ -2672,12 +2657,6 @@ def frombytes(mode, size, data, decoder_name="raw", *args):
return im


def fromstring(*args, **kw):
raise NotImplementedError(
"fromstring() has been removed. Please call frombytes() instead."
)


def frombuffer(mode, size, data, decoder_name="raw", *args):
"""
Creates an image memory referencing pixel data in a byte buffer.
Expand Down