def __lt__(self, other): """Used when sorting results by score. Break ties with URIs (reverse).""" from freequery.document.score import score_pagerank_cmp if not self.score or not other.score: raise Exception("can only sort docs with score") c = score_pagerank_cmp(self.score, other.score) if c == 0: return self.uri < other.uri else: return c < 0 # cmp < 0 means self < other
def test_score_pagerank_cmp(self): s1, s2 = Score(pagerank=1.0), Score(pagerank=2.0) # s1 < s2 self.assertTrue(score_pagerank_cmp(s1, s2) < 0)