From 53c9a80d1bfe531a8e3434251174a39703661b0f Mon Sep 17 00:00:00 2001 From: matt Date: Sun, 19 Jun 2016 17:44:24 -0400 Subject: [PATCH] Changed equals method on Image so it short circuits. Also put getpalette() and tobytes() comparison at the end because they are the slowest operations. --- PIL/Image.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/PIL/Image.py b/PIL/Image.py index 4ab40620f..2341daff0 100644 --- a/PIL/Image.py +++ b/PIL/Image.py @@ -584,16 +584,14 @@ class Image(object): return file def __eq__(self, other): - if self.__class__.__name__ != other.__class__.__name__: - return False - a = (self.mode == other.mode) - b = (self.size == other.size) - c = (self.getpalette() == other.getpalette()) - d = (self.info == other.info) - e = (self.category == other.category) - f = (self.readonly == other.readonly) - g = (self.tobytes() == other.tobytes()) - return a and b and c and d and e and f and g + return (self.__class__.__name__ == other.__class__.__name__ and + self.mode == other.mode and + self.size == other.size and + self.info == other.info and + self.category == other.category and + self.readonly == other.readonly and + self.getpalette() == other.getpalette() and + self.tobytes() == other.tobytes()) def __ne__(self, other): eq = (self == other)