Mercurial > xib
diff weighted_string.py @ 180:102f895347ff
added a required "importance" argument to Bot.error()
Signed-off-by: Charly COSTE <changaco@changaco.net>
author | Charly COSTE <changaco@changaco.net> |
---|---|
date | Sat, 13 Feb 2010 16:32:28 +0100 |
parents | |
children |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/weighted_string.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + + +class Weighted_string(unicode): + + def __new__(cls, weight, string): + return super(Weighted_string, cls).__new__(cls, unicode(string)) + + def __init__(self, weight, string): + self.weight = weight + + def __lt__(self, other): + return self.weight < other + + def __le__(self, other): + return self.weight <= other + + def __eq__(self, other): + return self.weight == other + + def __ne__(self, other): + return self.weight != other + + def __gt__(self, other): + return self.weight > other + + def __ge__(self, other): + return self.weight >= other + + def __repr__(self): + return '<'+unicode(self.weight)+', '+unicode.__repr__(self)+'>'