python: Fix rich comparisons
Python 3 doesn't call objects __cmp__() methods any more to compare them. Instead, it requires implementing the rich comparison methods explicitly: __eq__(), __ne(), __lt__(), __le__(), __gt__() and __ge__(). Fortunately Python 2 also supports those. This commit only implements the comparison methods which are actually used by the build scripts. Signed-off-by: Mathieu Bridon <bochecha@daitauha.fr> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
This commit is contained in:
committed by
Dylan Baker
parent
9b6746b7c0
commit
e1b88aee68
@@ -160,14 +160,15 @@ class VkVersion:
|
||||
patch = self.patch if self.patch is not None else 0
|
||||
return (self.major << 22) | (self.minor << 12) | patch
|
||||
|
||||
def __cmp__(self, other):
|
||||
def __gt__(self, other):
|
||||
# If only one of them has a patch version, "ignore" it by making
|
||||
# other's patch version match self.
|
||||
if (self.patch is None) != (other.patch is None):
|
||||
other = copy.copy(other)
|
||||
other.patch = self.patch
|
||||
|
||||
return self.__int_ver().__cmp__(other.__int_ver())
|
||||
return self.__int_ver() > other.__int_ver()
|
||||
|
||||
|
||||
|
||||
MAX_API_VERSION = VkVersion('0.0.0')
|
||||
|
||||
Reference in New Issue
Block a user