summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Bcfg2Py3k.py
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-08-20 13:40:29 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-08-20 13:40:29 -0400
commit854aaf4986cd79b659fe4de0b1d319dbd5f9ac92 (patch)
tree0c83c562c23e4562e0b1a146e2b2753713495c76 /src/lib/Bcfg2/Bcfg2Py3k.py
parent7cfa4498a417f6b52a0c159dbd680496b47e279e (diff)
downloadbcfg2-854aaf4986cd79b659fe4de0b1d319dbd5f9ac92.tar.gz
bcfg2-854aaf4986cd79b659fe4de0b1d319dbd5f9ac92.tar.bz2
bcfg2-854aaf4986cd79b659fe4de0b1d319dbd5f9ac92.zip
added CmpMixin to provide __cmp__ functionality to py3k
Diffstat (limited to 'src/lib/Bcfg2/Bcfg2Py3k.py')
-rw-r--r--src/lib/Bcfg2/Bcfg2Py3k.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Bcfg2Py3k.py b/src/lib/Bcfg2/Bcfg2Py3k.py
index 7fce94789..784ac118f 100644
--- a/src/lib/Bcfg2/Bcfg2Py3k.py
+++ b/src/lib/Bcfg2/Bcfg2Py3k.py
@@ -92,3 +92,25 @@ try:
from collections import MutableMapping
except ImportError:
from UserDict import DictMixin as MutableMapping
+
+
+# in py3k __cmp__ is no longer magical, so we define a mixin that can
+# be used to define the rich comparison operators from __cmp__
+class CmpMixin(object):
+ def __lt__(self, other):
+ return self.__cmp__(other) < 0
+
+ def __gt__(self, other):
+ return self.__cmp__(other) > 0
+
+ def __eq__(self, other):
+ return self.__cmp__(other) == 0
+
+ def __ne__(self, other):
+ return not self.__eq__(other)
+
+ def __ge__(self, other):
+ return self.__gt__(other) or self.__eq__(other)
+
+ def __le__(self, other):
+ return self.__lt__(other) or self.__eq__(other)