09.12

Диапазон значений

class FuzzyInt(int):
    def __new__(cls, lowest, highest):
        obj = super(FuzzyInt, cls).__new__(cls, highest)
        obj.lowest = lowest
        obj.highest = highest
        return obj

    def __eq__(self, other):
        return other >= self.lowest and other <= self.highest

    def __repr__(self):
        return "[%d, %d]" % (self.lowest, self.highest)

Пример использования:

ImageDimensionValidator(width=FuzzyInt(100, 200), height=300)

Подсмотрено на форуме Ивана Сагалаева

Раздел: Django

Оставьте комментарий

© 2010 Алексей Камедов

При копировании материалов блога ссылка на источник обязательна.