iro/model/decorators.py
branchdevel
changeset 117 351a02310dd8
parent 115 323d06431100
child 118 e16c0250c974
equal deleted inserted replaced
116:48c70425bf6c 117:351a02310dd8
     1 from decorator import decorator
     1 from decorator import decorator
     2 
     2 
     3 from .utils import DBDefer
       
     4 from .user import vUser
     3 from .user import vUser
       
     4 from .dbdefer import  dbdefer
       
     5 from .pool import runInDBPool
       
     6 from .schema import Offer
       
     7 
       
     8 from ..error import ValidateException
     5 
     9 
     6 def vRoute(typ):
    10 def vRoute(typ):
     7     @decorator
    11     @decorator
     8     def wrapper(f, *args, **kwargs):
    12     def wrapper(f, *args, **kwargs):
     9         return f(*args, **kwargs)
    13         return f(*args, **kwargs)
    10     return wrapper
    14     return wrapper
       
    15 
       
    16 from .utils import WithSession
       
    17 #@dbdefer
       
    18 def vTyp(value,field):
       
    19     with WithSession(dbdefer.engine) as session:
       
    20         for typ in session.query(Offer.typ).distinct():
       
    21             if value == typ[0]:
       
    22                 break
       
    23         else:
       
    24             raise ValidateException(field=field,msg='Typ is not valid.')
       
    25     return value