--- a/iro/validate.py Fri Jan 27 15:01:59 2012 +0100
+++ b/iro/validate.py Fri Jan 27 17:49:57 2012 +0100
@@ -1,12 +1,12 @@
import re
-from functools import wraps
+from decorator import decorator
from inspect import getcallargs
from .error import ValidateException
-def boolean(value, field):
- t=[True,"true",1]
- f=[False,"false",0]
+def vBool(value, field):
+ t=[True, 1, "true", "True", "TRUE"]
+ f=[False, 0, "false", "False", "FALSE"]
if value in t:
return True
elif value in f:
@@ -15,7 +15,7 @@
raise ValidateException(field=field, msg='%s is not boolean' % field)
-def validateHash(value,field,minlength=None,maxlength=None):
+def vHash(value,field,minlength=None,maxlength=None):
if not re.match(r'^[a-f0-9]*$', value.lower()):
raise ValidateException(field=field)
if minlength and len(value)<minlength:
@@ -24,9 +24,11 @@
raise ValidateException(field=field)
return value
-def vuserhash(value,field):
- '''vailidate function for userhash'''
- return validateHash(value,field,minlength=15,maxlength=15)
+def vTel(value,field):
+ return value
+
+def vEmail(value, field):
+ return value
def validate(kwd,func, need=True,*args,**kargs):
'''validate decorator
@@ -35,23 +37,17 @@
f(userhash)
that will validate usrhash with the function vuserhash.
Every validate function should raise an Exception, if the the value is not valid'''
- def v(f):
- @wraps(f)
- def new_f(*a,**k):
- kp=getcallargs(new_f.original,*a,**k)
- try:
- if need or kp[kwd] is not None:
- kp[kwd] = func(kp[kwd],kwd,*args,**kargs)
- else:
- kp[kwd] = None
- except KeyError:
- if need:
- raise ValidateException(field=kwd,msg="%s is nessasary"%kwd)
- return f(**kp)
+ @decorator
+ def v(f,*a,**k):
+ kp=getcallargs(f,*a,**k)
try:
- new_f.original=f.original
- except AttributeError:
- new_f.original=f
- return new_f
+ if need or kp[kwd] is not None:
+ kp[kwd] = func(kp[kwd],kwd,*args,**kargs)
+ else:
+ kp[kwd] = None
+ except KeyError:
+ if need:
+ raise ValidateException(field=kwd,msg="%s is nessasary"%kwd)
+ return f(**kp)
return v