Mercurial > wikked
changeset 68:4cb946982fca
Added POST endpoint to revert a page.
Fixed a stupid dictionary bug.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Tue, 12 Feb 2013 20:52:58 -0800 |
parents | 048ef0681e42 |
children | 0adac3bc079e |
files | wikked/views.py |
diffstat | 1 files changed, 24 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/wikked/views.py Tue Feb 12 20:52:26 2013 -0800 +++ b/wikked/views.py Tue Feb 12 20:52:58 2013 -0800 @@ -57,7 +57,7 @@ meta['url'] = page.url for name in COERCE_META: if name in meta: - meta[name] = COERCE_META(meta[name]) + meta[name] = COERCE_META[name](meta[name]) return meta @@ -218,7 +218,7 @@ return make_auth_response(result) -@app.route('/api/edit/<path:url>', methods=['GET', 'PUT', 'POST']) +@app.route('/api/edit/<path:url>', methods=['GET', 'POST']) def api_edit_page(url): if request.method == 'GET': page = get_page_or_none(url) @@ -266,6 +266,28 @@ return make_auth_response(result) +@app.route('/api/revert/<path:url>', methods=['POST']) +def api_revert_page(url): + if not 'rev' in request.form: + abort(400) + rev = request.form['rev'] + author = request.remote_addr + if 'author' in request.form and len(request.form['author']) > 0: + author = request.form['author'] + message = 'Reverted %s to revision %s' % (url, rev) + if 'message' in request.form and len(request.form['message']) > 0: + message = request.form['message'] + + page_fields = { + 'rev': rev, + 'author': author, + 'message': message + } + g.wiki.revertPage(url, page_fields) + result = {'reverted': 1} + return make_auth_response(result) + + @app.route('/api/rename/<path:url>', methods=['POST']) def api_rename_page(url): pass