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()
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()
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)
# 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)