dirsize: python3: fix TypeError: unorderable types

Python 3 ignores the __cmp__() method and doesn't have cmp() builtin
function. This caused sorted() call to raise
    TypeError: unorderable types: Record() < Record()

Removing __cmp__ method and implementing __lt__ should solve the
problem as __lt__ is the only method needed for sort[ed] to work.

(From OE-Core rev: 391cd33720e7d7e8e261193199272739293ad881)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ed Bartosh 2016-06-02 13:12:59 +03:00 committed by Richard Purdie
parent a4045424af
commit f1e85d4760
1 changed files with 5 additions and 9 deletions

View File

@ -52,20 +52,16 @@ class Record:
self.size = 0
self.records = []
def __cmp__(this, that):
def __lt__(this, that):
if that is None:
return 1
return False
if not isinstance(that, Record):
raise TypeError
if len(this.records) > 0 and len(that.records) == 0:
return -1
if len(this.records) == 0 and len(that.records) > 0:
return 1
if this.size < that.size:
return -1
return False
if this.size > that.size:
return 1
return 0
return False
return True
def show(self, minsize):
total = 0