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:
parent
a4045424af
commit
f1e85d4760
|
@ -52,20 +52,16 @@ class Record:
|
||||||
self.size = 0
|
self.size = 0
|
||||||
self.records = []
|
self.records = []
|
||||||
|
|
||||||
def __cmp__(this, that):
|
def __lt__(this, that):
|
||||||
if that is None:
|
if that is None:
|
||||||
return 1
|
return False
|
||||||
if not isinstance(that, Record):
|
if not isinstance(that, Record):
|
||||||
raise TypeError
|
raise TypeError
|
||||||
if len(this.records) > 0 and len(that.records) == 0:
|
if len(this.records) > 0 and len(that.records) == 0:
|
||||||
return -1
|
return False
|
||||||
if len(this.records) == 0 and len(that.records) > 0:
|
|
||||||
return 1
|
|
||||||
if this.size < that.size:
|
|
||||||
return -1
|
|
||||||
if this.size > that.size:
|
if this.size > that.size:
|
||||||
return 1
|
return False
|
||||||
return 0
|
return True
|
||||||
|
|
||||||
def show(self, minsize):
|
def show(self, minsize):
|
||||||
total = 0
|
total = 0
|
||||||
|
|
Loading…
Reference in New Issue