Пример #1
0
def config_validater(app):

    def friendly_date(date):
        s = "{}年{}月{}日".format(date.year, date.month, date.day)
        return s

    def iso_datetime_validater(v):
        """iso_str -> datetime or datetime -> iso_str"""
        if isinstance(v, datetime):
            return (True, v.isoformat())
        else:
            return validaters["datetime"](v)

    def friendly_date_validater(v):
        if isinstance(v, datetime):
            return (True, friendly_date(v))
        else:
            return (False, None)
    add_validater("iso_datetime", iso_datetime_validater)
    add_validater("friendly_date", friendly_date_validater)
Пример #2
0
def custom_validaters():
    year_validater = re_validater(re.compile(r"^\d{4}$"))
    add_validater("year", year_validater, my_validaters)
    add_validater("list", type_validater(list, empty=[]), my_validaters)

    def abs_validater(v, debug=False):
        try:
            return True, abs(v)
        except:
            if debug:
                raise
            return False, None
    add_validater('abs', abs_validater, my_validaters)
Пример #3
0
from __future__ import absolute_import
from flask import Flask
from flask_restaction import Api
from datetime import datetime
from validater import add_validater


def user_role(uid):
    if uid == 1:
        return "admin"


def iso_datetime_validater(v):
    if isinstance(v, datetime):
        return (True, v.isoformat())
    else:
        return (False, None)
add_validater("iso_datetime", iso_datetime_validater)

app = Flask(__name__)
app.debug = True
api = Api(app, fn_user_role=user_role)
app.config["JSON_AS_ASCII"] = False

from .users import User
from .todos import Todo
api.add_resource(User)
api.add_resource(Todo)
api.gen_resjs()
api.gen_resdocs()
Пример #4
0
def config_validater(app):

    def plus_int_validater(v):
        try:
            i = int(v)
            return (i > 0, i)
        except:
            pass
        return (False, None)

    def friendly_date(date):
        s = "{}年{}月{}日".format(date.year, date.month, date.day)
        return s

    def iso_datetime_validater(v):
        if isinstance(v, datetime):
            return (True, v.isoformat())
        else:
            return (False, None)

    def friendly_date_validater(v):
        if isinstance(v, datetime):
            return (True, friendly_date(v))
        else:
            return (False, None)
    re_password = re.compile(ur"""^[a-zA-Z0-9~!@#$%^&*(),./;'<>?:"-_=+]{6,16}$""")
    add_validater("+int", plus_int_validater)
    add_validater("password", re_validater(re_password))
    add_validater("iso_datetime", iso_datetime_validater)
    add_validater("friendly_date", friendly_date_validater)

    user_roles = ["user.admin", "user.normal"]

    def userrole_validater(v):
        return (True, v) if v in user_roles else (False, None)
    add_validater("userrole", userrole_validater)

    bloguser_roles = ["bloguser.admin", "bloguser.normal"]

    def bloguser_role_validater(v):
        return (True, v) if v in bloguser_roles else (False, None)
    add_validater("bloguser_role", bloguser_role_validater)