Mercurial > babel > mirror
changeset 565:b0e80df660ab trunk
refactor Catalog.__cmp__ method
author | fschwarz |
---|---|
date | Mon, 26 Sep 2011 08:53:28 +0000 |
parents | 1ef087352e01 |
children | 593157da23f3 |
files | babel/messages/catalog.py |
diffstat | 1 files changed, 13 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/babel/messages/catalog.py +++ b/babel/messages/catalog.py @@ -89,16 +89,19 @@ def __cmp__(self, obj): """Compare Messages, taking into account plural ids""" - if isinstance(obj, Message): - plural = self.pluralizable - obj_plural = obj.pluralizable - if plural and obj_plural: - return cmp(self.id[0], obj.id[0]) - elif plural: - return cmp(self.id[0], obj.id) - elif obj_plural: - return cmp(self.id, obj.id[0]) - return cmp(self.id, obj.id) + 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 __gt__(self, other): return self.__cmp__(other) > 0