summaryrefslogtreecommitdiff
path: root/babel
diff options
context:
space:
mode:
authorXavier Fernandez <xavier.fernandez@polyconseil.fr>2017-03-21 16:23:09 +0100
committerXavier Fernandez <xavier.fernandez@polyconseil.fr>2017-03-21 16:23:09 +0100
commit57d47e0d69217c2fa5aec3a072a4972823669db3 (patch)
tree8123c464b6ddfad007388dca12cb1f9387a5457d /babel
parent6f0d13b61002893e3ed862b03b2df60733e320b9 (diff)
downloadbabel-57d47e0d69217c2fa5aec3a072a4972823669db3.tar.gz
Simplify Message.__cmp__
Diffstat (limited to 'babel')
-rw-r--r--babel/messages/catalog.py20
1 files changed, 6 insertions, 14 deletions
diff --git a/babel/messages/catalog.py b/babel/messages/catalog.py
index 018094c..193b72b 100644
--- a/babel/messages/catalog.py
+++ b/babel/messages/catalog.py
@@ -116,21 +116,13 @@ class Message(object):
return '<%s %r (flags: %r)>' % (type(self).__name__, self.id,
list(self.flags))
- def __cmp__(self, obj):
+ def __cmp__(self, other):
"""Compare Messages, taking into account plural ids"""
- def values_to_compare():
- if isinstance(obj, Message):
- plural = self.pluralizable
- obj_plural = obj.pluralizable
- if plural and obj_plural:
- return self.id[0], obj.id[0]
- elif plural:
- return self.id[0], obj.id
- elif obj_plural:
- return self.id, obj.id[0]
- return self.id, obj.id
- this, other = values_to_compare()
- return cmp(this, other)
+ def values_to_compare(obj):
+ if isinstance(obj, Message) and obj.pluralizable:
+ return obj.id[0]
+ return obj.id
+ return cmp(values_to_compare(self), values_to_compare(other))
def __gt__(self, other):
return self.__cmp__(other) > 0