Implement __ne__ when __eq__ is defined
diff --git a/Lib/fontTools/misc/py23.py b/Lib/fontTools/misc/py23.py
index ff33980..0e5e45f 100644
--- a/Lib/fontTools/misc/py23.py
+++ b/Lib/fontTools/misc/py23.py
@@ -57,6 +57,8 @@
def __new__(self, content):
return str.__new__(self, self.transcode(content))
+ def __ne__(self, other):
+ return not self.__eq__(other)
def __eq__(self, other):
return str.__eq__(self, self.transcode(other))
diff --git a/Lib/fontTools/misc/transform.py b/Lib/fontTools/misc/transform.py
index 51c8da7..4fdb964 100644
--- a/Lib/fontTools/misc/transform.py
+++ b/Lib/fontTools/misc/transform.py
@@ -292,6 +292,8 @@
return (xx1, xy1, yx1, yy1, dx1, dy1) < \
(xx2, xy2, yx2, yy2, dx2, dy2)
+ def __ne__(self, other):
+ return not self.__eq__(other)
def __eq__(self, other):
"""Transform instances are comparable:
>>> t1 = Identity.scale(2, 3).translate(4, 6)
diff --git a/Lib/fontTools/ttLib/tables/DefaultTable.py b/Lib/fontTools/ttLib/tables/DefaultTable.py
index 5433cc4..33facc2 100644
--- a/Lib/fontTools/ttLib/tables/DefaultTable.py
+++ b/Lib/fontTools/ttLib/tables/DefaultTable.py
@@ -36,6 +36,8 @@
def __repr__(self):
return "<'%s' table at %x>" % (self.tableTag, id(self))
+ def __ne__(self, other):
+ return not self.__eq__(other)
def __eq__(self, other):
if type(self) != type(other):
raise TypeError("unordered types %s() < %s()", type(self), type(other))
diff --git a/Lib/fontTools/ttLib/tables/_g_l_y_f.py b/Lib/fontTools/ttLib/tables/_g_l_y_f.py
index 659d0bb..7542b04 100644
--- a/Lib/fontTools/ttLib/tables/_g_l_y_f.py
+++ b/Lib/fontTools/ttLib/tables/_g_l_y_f.py
@@ -779,6 +779,8 @@
self.data = data
+ def __ne__(self, other):
+ return not self.__eq__(other)
def __eq__(self, other):
if type(self) != type(other):
raise TypeError("unordered types %s() < %s()", type(self), type(other))
@@ -940,6 +942,8 @@
self.transform = [[scale, 0], [0, scale]]
self.flags = safeEval(attrs["flags"])
+ def __ne__(self, other):
+ return not self.__eq__(other)
def __eq__(self, other):
if type(self) != type(other):
raise TypeError("unordered types %s() < %s()", type(self), type(other))
@@ -1040,6 +1044,8 @@
py = x * t[0][1] + y * t[1][1]
self[i] = (px, py)
+ def __ne__(self, other):
+ return not self.__eq__(other)
def __eq__(self, other):
if type(self) != type(other):
raise TypeError("unordered types %s() < %s()", type(self), type(other))
diff --git a/Lib/fontTools/ttLib/tables/otBase.py b/Lib/fontTools/ttLib/tables/otBase.py
index 37d109d..3435986 100644
--- a/Lib/fontTools/ttLib/tables/otBase.py
+++ b/Lib/fontTools/ttLib/tables/otBase.py
@@ -286,6 +286,8 @@
# only works after self._doneWriting() has been called
return hash(self.items)
+ def __ne__(self, other):
+ return not self.__eq__(other)
def __eq__(self, other):
if type(self) != type(other):
raise TypeError("unordered types %s() < %s()", type(self), type(other))
@@ -673,6 +675,8 @@
else:
setattr(self, conv.name, value)
+ def __ne__(self, other):
+ return not self.__eq__(other)
def __eq__(self, other):
if type(self) != type(other):
raise TypeError("unordered types %s() < %s()", type(self), type(other))
@@ -840,6 +844,8 @@
value.fromXML(name2, attrs2, content2, font)
setattr(self, name, value)
+ def __ne__(self, other):
+ return not self.__eq__(other)
def __eq__(self, other):
if type(self) != type(other):
raise TypeError("unordered types %s() < %s()", type(self), type(other))