Files @ 6f2c875c7b76
Branch filter:

Location: NPO-Accounting/experimental-accounting-api/accounting/decorators.py

Joar Wandborg
Added /transaction endpoint
from functools import wraps

from flask import jsonify

from accounting.exceptions import AccountingException


def jsonify_exceptions(func):
    '''
    Wraps a Flask endpoint and catches any AccountingException-based
    exceptions which are returned to the client as JSON.
    '''
    @wraps(func)
    def wrapper(*args, **kw):
        try:
            return func(*args, **kw)
        except AccountingException as exc:
            return jsonify(error=exc)

    return wrapper