summaryrefslogtreecommitdiff
path: root/src/tablib
diff options
context:
space:
mode:
authorHugo van Kemenade <hugovk@users.noreply.github.com>2019-11-11 12:06:25 +0200
committerGitHub <noreply@github.com>2019-11-11 12:06:25 +0200
commit22a193dafb3f3fbcff16ddba0b1791ee2c270e9d (patch)
treef6c95868fe2a605c4e02a1c8171b8fa5c1def115 /src/tablib
parentb539e9669719d2a9d10a9cef614ffaf67f723086 (diff)
downloadtablib-22a193dafb3f3fbcff16ddba0b1791ee2c270e9d.tar.gz
No __cmp__ or cmp in Python 3 (#429)
* No __cmp__ or cmp in Python 3 * Add rich comparisons * Simplify using total_ordering decorator
Diffstat (limited to 'src/tablib')
-rw-r--r--src/tablib/packages/dbfpy/fields.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/tablib/packages/dbfpy/fields.py b/src/tablib/packages/dbfpy/fields.py
index d6ee84e..8c7d022 100644
--- a/src/tablib/packages/dbfpy/fields.py
+++ b/src/tablib/packages/dbfpy/fields.py
@@ -33,12 +33,14 @@ __all__ = ["lookupFor"] # field classes added at the end of the module
import datetime
import struct
import sys
+from functools import total_ordering
from . import utils
# abstract definitions
+@total_ordering
class DbfFieldDef:
"""Abstract field definition.
@@ -101,8 +103,14 @@ class DbfFieldDef:
self.start = start
self.end = stop
- def __cmp__(self, other):
- return cmp(self.name, str(other).upper())
+ def __eq__(self, other):
+ return repr(self) == repr(other)
+
+ def __ne__(self, other):
+ return repr(self) != repr(other)
+
+ def __lt__(self, other):
+ return repr(self) < repr(other)
def __hash__(self):
return hash(self.name)