From 6fa568daae3291c7a876cd903f04079a12945dcb Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 05 May 2009 05:44:27 +0000 Subject: Merge branch 'mike' Conflicts: source/external/source/sugar-toolkit/src/sugar/tutorius/actions.py source/external/source/sugar-toolkit/src/sugar/tutorius/tests/actiontests.py source/external/source/sugar-toolkit/src/sugar/tutorius/tests/run-tests.py --- (limited to 'src/sugar/tutorius/constraints.py') diff --git a/src/sugar/tutorius/constraints.py b/src/sugar/tutorius/constraints.py index a666ecb..0e09664 100644 --- a/src/sugar/tutorius/constraints.py +++ b/src/sugar/tutorius/constraints.py @@ -81,10 +81,10 @@ class LowerLimitConstraint(ValueConstraint): raise LowerLimitConstraintError() return -class SizeConstraintError(Exception): +class MaxSizeConstraintError(Exception): pass -class SizeConstraint(ValueConstraint): +class MaxSizeConstraint(ValueConstraint): def validate(self, value): """ Evaluate whether a given object is smaller than the given size when @@ -94,9 +94,27 @@ class SizeConstraint(ValueConstraint): bigger than the limit. """ if self.limit is not None: - if self.limit > len(value): + if self.limit >= len(value): return - raise SizeConstraintError("Setter : trying to set value of length %d while limit is %d"%(len(value), self.limit)) + raise MaxSizeConstraintError("Setter : trying to set value of length %d while limit is %d"%(len(value), self.limit)) + return + +class MinSizeConstraintError(Exception): + pass + +class MinSizeConstraint(ValueConstraint): + def validate(self, value): + """ + Evaluate whether a given object is smaller than the given size when + run through len(). Great for string, lists and the like. ;) + + @raise SizeConstraintError If the length of the value is strictly + bigger than the limit. + """ + if self.limit is not None: + if self.limit <= len(value): + return + raise MinSizeConstraintError("Setter : trying to set value of length %d while limit is %d"%(len(value), self.limit)) return class ColorConstraintError(Exception): -- cgit v0.9.1