]> git.llucax.com Git - software/pymin.git/commitdiff
Add common Int related validators (refs #20)
authorLeandro Lucarella <llucax@gmail.com>
Wed, 25 Jun 2008 03:12:41 +0000 (00:12 -0300)
committerLeandro Lucarella <llucax@gmail.com>
Sat, 28 Jun 2008 04:54:01 +0000 (01:54 -0300)
Is very common to validate a number that must be in the range of an
(unsigned) integer of 8/16/32/64 bits. Int8, UInt8, Int16, UInt16, Int32,
UInt32, Int64 and UInt64  are provided for that.

pymin/validation.py

index 9219f715d509e2d12a526848c071cd65bb89a06e..7066898d7046603e97dde0bcf1c4574f48333b09 100644 (file)
@@ -9,6 +9,39 @@ from pymin.item import Item
 from pymin.validatedclass import Field
 
 
+class Int8(Int):
+    min = -128
+    max = +127
+
+class UInt8(Int):
+    min = 0
+    max = 255
+
+class Int16(Int):
+    min = -32768
+    max = +32767
+
+class UInt16(Int):
+    min = 0
+    max = 65535
+
+class Int32(Int):
+    min = -2147483648
+    max = +2147483647
+
+class UInt32(Int):
+    min = 0
+    max = 4294967295
+
+class Int64(Int):
+    min = -9223372036854775808
+    max = +9223372036854775807
+
+class UInt64(Int):
+    min = 0
+    max = 18446744073709551615
+
+
 class UpOneOf(OneOf):
     """
     Same as :class:`OneOf` but values are uppercased before validation.