From 391cd33720e7d7e8e261193199272739293ad881 Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Thu, 2 Jun 2016 13:12:59 +0300 Subject: 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. Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- scripts/tiny/dirsize.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'scripts') diff --git a/scripts/tiny/dirsize.py b/scripts/tiny/dirsize.py index 5329b86f75..0b4fbd1fa7 100755 --- a/scripts/tiny/dirsize.py +++ b/scripts/tiny/dirsize.py @@ -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 -- cgit 1.2.3-korg