예제 #1
0
파일: api.py 프로젝트: ponycloud/sparkle
def convert_errors(fn):
    @wraps(fn)
    def wrapper(*args, **kwargs):
        try:
            return fn(*args, **kwargs)
        except ConflictError, e:
            return json_response(e.json, e.status)
        except PathError, e:
            return json_response(e.json, e.status)
예제 #2
0
파일: api.py 프로젝트: ponycloud/sparkle
 def wrapper(*args, **kwargs):
     try:
         return fn(*args, **kwargs)
     except ConflictError, e:
         return json_response(e.json, e.status)
예제 #3
0
파일: api.py 프로젝트: ponycloud/sparkle
                covered.add(key)

    return '/v1' + '/'.join(fullpath)


def convert_errors(fn):
    @wraps(fn)
    def wrapper(*args, **kwargs):
        try:
            return fn(*args, **kwargs)
        except ConflictError, e:
            return json_response(e.json, e.status)
        except PathError, e:
            return json_response(e.json, e.status)
        except UserError, e:
            return json_response(e.json, e.status)

    return wrapper


def make_sparkle_app(manager):
    """Construct Sparkle RESTful API site."""

    app = Flaskful(__name__)
    app.debug = True

    def apply_patch(patch):
        """
        Preprocess and apply validated JSON Patch to database.
        Returns dictionary with placeholder to uuid mappings.
        """