generator: Remove cmp() to work with Python3
authorKyle Manna <kyle@kylemanna.com>
Sat, 19 Sep 2015 22:03:13 +0000 (15:03 -0700)
committerKyle Manna <kyle@kylemanna.com>
Mon, 21 Sep 2015 01:49:42 +0000 (18:49 -0700)
* Python3 ignores cmp() and __cmp__() and only needs __lt__() for
  sorting.  Delete and update as appropriate.
* Ref: https://docs.python.org/3.0/whatsnew/3.0.html#ordering-comparisons

generator/nanopb_generator.py

index 240fa15..f7d4322 100755 (executable)
@@ -314,8 +314,8 @@ class Field:
         else:
             raise NotImplementedError(desc.type)
         
-    def __cmp__(self, other):
-        return cmp(self.tag, other.tag)
+    def __lt__(self, other):
+        return self.tag < other.tag
     
     def __str__(self):
         result = ''
@@ -661,9 +661,6 @@ class OneOf(Field):
         # Sort by the lowest tag number inside union
         self.tag = min([f.tag for f in self.fields])
 
-    def __cmp__(self, other):
-        return cmp(self.tag, other.tag)
-
     def __str__(self):
         result = ''
         if self.fields: