iro/model/decorators.py
author Sandro Knauß <knauss@netzguerilla.net>
Sat, 28 Jan 2012 04:00:47 +0100
branchdevel
changeset 118 e16c0250c974
parent 117 351a02310dd8
child 122 b55754aa4f96
permissions -rw-r--r--
validate decorator can handle deferd validators
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     1
from decorator import decorator
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     2
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     3
from .user import vUser
117
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents: 115
diff changeset
     4
from .dbdefer import  dbdefer
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents: 115
diff changeset
     5
from .pool import runInDBPool
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents: 115
diff changeset
     6
from .schema import Offer
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents: 115
diff changeset
     7
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents: 115
diff changeset
     8
from ..error import ValidateException
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     9
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    10
def vRoute(typ):
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    11
    @decorator
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    12
    def wrapper(f, *args, **kwargs):
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    13
        return f(*args, **kwargs)
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    14
    return wrapper
117
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents: 115
diff changeset
    15
118
e16c0250c974 validate decorator can handle deferd validators
Sandro Knauß <knauss@netzguerilla.net>
parents: 117
diff changeset
    16
@dbdefer
e16c0250c974 validate decorator can handle deferd validators
Sandro Knauß <knauss@netzguerilla.net>
parents: 117
diff changeset
    17
def vTyp(value,field, session):
e16c0250c974 validate decorator can handle deferd validators
Sandro Knauß <knauss@netzguerilla.net>
parents: 117
diff changeset
    18
    for typ in session.query(Offer.typ).distinct():
e16c0250c974 validate decorator can handle deferd validators
Sandro Knauß <knauss@netzguerilla.net>
parents: 117
diff changeset
    19
        if value == typ[0]:
e16c0250c974 validate decorator can handle deferd validators
Sandro Knauß <knauss@netzguerilla.net>
parents: 117
diff changeset
    20
            break
e16c0250c974 validate decorator can handle deferd validators
Sandro Knauß <knauss@netzguerilla.net>
parents: 117
diff changeset
    21
    else:
e16c0250c974 validate decorator can handle deferd validators
Sandro Knauß <knauss@netzguerilla.net>
parents: 117
diff changeset
    22
        raise ValidateException(field=field,msg='Typ is not valid.')
117
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents: 115
diff changeset
    23
    return value