From: Felix Schwarz Date: Mon, 26 Sep 2011 08:53:28 +0000 (+0000) Subject: refactor Catalog.__cmp__ method X-Git-Tag: 1.0~182 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=082e96832a6aed3c92cdedff2d40de1e789c6db3;p=thirdparty%2Fbabel.git refactor Catalog.__cmp__ method --- diff --git a/babel/messages/catalog.py b/babel/messages/catalog.py index 7ec66491..c8a5f1c9 100644 --- a/babel/messages/catalog.py +++ b/babel/messages/catalog.py @@ -89,16 +89,19 @@ class Message(object): 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