Exemplo n.º 1
0
    def paginate(self,
                 where=None,
                 limit=None,
                 page=None,
                 sort=None,
                 only=(),
                 exclude=()):

        form_data = request.values or request.json or {}
        where = where if where else json.loads(form_data.get('where', '{}'))
        limit = int(limit if limit else form_data.get('limit', 20))
        page = int(page if page else form_data.get('page', 1))
        sort = sort if sort else form_data.get('sort', '-modified')

        if limit <= 0 or limit > 200 or page <= 0:
            raise FriendlyException.from_error_code(
                error_code.INVALID_PAGINATE)

        querySet = self.filter(**where)
        if len(only):
            querySet = querySet.only(*only)

        if len(exclude):
            querySet = querySet.exclude(*exclude)

        if sort:
            querySet = querySet.order_by(sort)

        paginate = PaginationMixin(querySet, page, limit)
        return paginate.to_dict()
Exemplo n.º 2
0
    def paginate(self, where=None, limit=None, page=None, sort=None, only=(), exclude=()):

        form_data = request.values or request.json or {}
        where = where if where else json.loads(form_data.get('where', '{}'))
        limit = int(limit if limit else form_data.get('limit', 20))
        page = int(page if page else form_data.get('page', 1))
        sort = sort if sort else form_data.get('sort', '-modified')

        if limit <= 0 or limit > 200 or page <= 0:
            raise FriendlyException.from_error_code(error_code.INVALID_PAGINATE)

        querySet = self.filter(**where)
        if len(only):
            querySet = querySet.only(*only)

        if len(exclude):
            querySet = querySet.exclude(*exclude)

        if sort:
            querySet = querySet.order_by(sort)

        paginate = PaginationMixin(querySet, page, limit)
        return paginate.to_dict()
Exemplo n.º 3
0
from vclassifieds.common.exceptions import FriendlyException
from vclassifieds.common import error_code
from functools import wraps


def reraise(to_raise):
    def decorator(f):
        @wraps(f)
        def inner(*args, **kwargs):
            try:
                return f(*args, **kwargs)
            except:
                raise to_raise

        return inner

    return decorator


@reraise(FriendlyException.from_error_code(error_code.INVALID_JSON))
def is_object_id(object_id_value):
    from bson.objectid import ObjectId
    ObjectId(unicode(object_id_value))
    return True


@reraise(FriendlyException.from_error_code(error_code.INVALID_JSON))
def is_json(json_value):
    import json
    return json.loads(json_value)
Exemplo n.º 4
0
# Created on 2013-2-24
#
from vclassifieds.common.exceptions import FriendlyException
from vclassifieds.common import error_code
from functools import wraps

def reraise(to_raise):

    def decorator(f):
        @wraps(f)
        def inner(*args, **kwargs):
            try:
                return f(*args, **kwargs)
            except:
                raise to_raise
        return inner

    return decorator;

@reraise(FriendlyException.from_error_code(error_code.INVALID_JSON))
def is_object_id(object_id_value):
    from bson.objectid import ObjectId
    ObjectId(unicode(object_id_value))
    return True

@reraise(FriendlyException.from_error_code(error_code.INVALID_JSON))
def is_json(json_value):
    import json
    return json.loads(json_value)