aboutsummaryrefslogtreecommitdiff
path: root/budget/rest.py
diff options
context:
space:
mode:
authorAlexis Metaireau <alexis@notmyidea.org>2011-09-13 22:58:53 +0200
committerAlexis Metaireau <alexis@notmyidea.org>2011-09-13 22:58:53 +0200
commitb0d41291afade8aec86502d07d1d29d000ff1bca (patch)
tree75116f45eaa6915e554d0c6158069462063733fa /budget/rest.py
parent8528526f0b6dc8828247ef03f11e4894580f8dd5 (diff)
downloadihatemoney-mirror-b0d41291afade8aec86502d07d1d29d000ff1bca.zip
ihatemoney-mirror-b0d41291afade8aec86502d07d1d29d000ff1bca.tar.gz
ihatemoney-mirror-b0d41291afade8aec86502d07d1d29d000ff1bca.tar.bz2
API: Create and Update support
Diffstat (limited to 'budget/rest.py')
-rw-r--r--budget/rest.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/budget/rest.py b/budget/rest.py
index 8ade14b..f237217 100644
--- a/budget/rest.py
+++ b/budget/rest.py
@@ -114,7 +114,7 @@ def need_auth(authentifier, name=None, remove_attr=True):
del kwargs["%s_id" % name]
return func(*args, **kwargs)
else:
- raise werkzeug.exceptions.Forbidden()
+ return 403, "Forbidden"
return wrapped
return wrapper
@@ -128,13 +128,15 @@ def serialize(func):
# get the mimetype
mime = request.accept_mimetypes.best_match(SERIALIZERS.keys())
data = func(*args, **kwargs)
+ serializer = SERIALIZERS[mime]
- if isinstance(data, werkzeug.Response):
- return data
- else:
- # serialize it
- return werkzeug.Response(SERIALIZERS[mime].encode(data),
- status=200, mimetype=mime)
+ status = 200
+ if len(data) == 2:
+ status, data = data
+
+ # serialize it
+ return werkzeug.Response(serializer.encode(data),
+ status=status, mimetype=mime)
return wrapped