diff options
author | mike <michael.jmontcalm@gmail.com> | 2009-04-06 02:38:10 (GMT) |
---|---|---|
committer | mike <michael.jmontcalm@gmail.com> | 2009-04-16 00:52:40 (GMT) |
commit | 0cad6dc96afc2ebd4d03beb14ed01bc155dfa322 (patch) | |
tree | d86b51b031aa5da74d3d7935020e468fa6ab4919 /src/sugar/tutorius/constraints.py | |
parent | aefa4024904ec92034d108d94768a388e8f1a9f6 (diff) |
LP 348570 Core : Extending actions with the new properties, adding min /
max size to arrays
Diffstat (limited to 'src/sugar/tutorius/constraints.py')
-rw-r--r-- | src/sugar/tutorius/constraints.py | 26 |
1 files changed, 22 insertions, 4 deletions
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): |