# HG changeset patch # User Ludovic Chabant # Date 1360731178 28800 # Node ID 4cb946982fcacc3dbd3e064662e3a5d9b7fbb82b # Parent 048ef0681e4290d3d22f33abfe89331464a55fc3 Added POST endpoint to revert a page. Fixed a stupid dictionary bug. diff -r 048ef0681e42 -r 4cb946982fca wikked/views.py --- 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/', methods=['GET', 'PUT', 'POST']) +@app.route('/api/edit/', 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/', 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/', methods=['POST']) def api_rename_page(url): pass