parallel_emerge: implement rich comparison methods
Python 3 dropped support for __cmp__ so classes have to implement the
full suite of comparison methods now. Since score is a tuple of ints,
we can test them directly.
BUG=chromium:980619
TEST=unittests pass before & after change
Change-Id: I706ed9f06887693424d5b63e12567ec9cafa6ac1
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1688538
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
diff --git a/scripts/parallel_emerge.py b/scripts/parallel_emerge.py
index 62b4bf9..b3c69b9 100644
--- a/scripts/parallel_emerge.py
+++ b/scripts/parallel_emerge.py
@@ -1278,8 +1278,23 @@
self.score = None
self.update_score()
- def __cmp__(self, other):
- return cmp(self.score, other.score)
+ def __lt__(self, other):
+ return self.score < other.score
+
+ def __le__(self, other):
+ return self.score <= other.score
+
+ def __eq__(self, other):
+ return self.score == other.score
+
+ def __ne__(self, other):
+ return self.score != other.score
+
+ def __gt__(self, other):
+ return self.score > other.score
+
+ def __ge__(self, other):
+ return self.score >= other.score
def update_score(self):
self.score = (