Beispiel #1
0
class UserParams(params.ParamSet):
    id = params.UUIDStringField(
        required=True)
    name = params.WordField(
        'name should be a 1~8 length string, and is required',
        required=True, length=(1, 8))
    email = params.EmailField(
        'email should be a valid email format, and is required',
        required=True)
    age = params.IntegerField(
        'age should be a 10~30 int',
        min=10, max=30)
    is_staff = params.BooleanField(default=True)
    is_admin = params.BooleanField()

    def validate_name(self, value):
        if value not in userdb:
            raise ValueError('user not in db')
        return value

    def validate_name_with_email(self):
        """name must be in email"""
        name = self.data.get('name')
        email = self.data.get('email')
        if not name or not email:
            return

        if name not in email:
            raise ValueError('name must be in email')
Beispiel #2
0
class ContactsInfoView(JSONView):
    @use_params_class_view({
        'id': params.IntegerField(required=True),
    })

    def get(self, request):
        c = contact_api.get(id=request.params.id)
        return self.json_response(make_resp_data(c), encoder=contact_encoder)
Beispiel #3
0
class GetHandler(BaseHandler):
    @use_params({
        'a': params.IntegerField(required=True),
    })
    def get(self):
        print('params', self.params)
        if self.params.a != 1:
            raise params.InvalidParams('a != 1')
        return self.write(str(self.params))
Beispiel #4
0
class RegisterHandler(BaseHandler):
    @use_params({
        'hostname': params.StringField(required=True),
        'ip_addr': IPField(required=True),
        'mac_addr': mac_field.spawn(required=True),
        'ts': params.IntegerField(required=True),
    })
    def post(self):
        print self.params.hostname
        print self.params.ip_addr
        print self.params.mac_addr
        print self.params.ts
        self.write_json(self.params.data)
Beispiel #5
0
class PostJsonHandler(BaseHandler):
    @use_params(
        {
            'a': params.IntegerField(required=True),
            'b': params.Field(),
        },
        is_json=True)
    def post(self):
        print('params', self.params)
        if self.params.a != 1:
            raise params.InvalidParams('a != 1')
        if self.params.b and self.params.b != 'b':
            raise params.InvalidParams('b != b')
        return self.write(str(self.params))
Beispiel #6
0
 class PostParams(params.ParamSet):
     a = params.IntegerField(required=True)
     b = params.Field()
Beispiel #7
0
class PaginatorParams(params.ParamSet):
    page = params.IntegerField(default=1, null=False)
    limit = params.IntegerField(default=20, min=1, max=500, null=False)
    sort = params.WordField(choices=['created_at', 'updated_at'],
                            default='updated_at')
    order = params.WordField(choices=['asc', 'desc'], default='desc')