def toggle_category(): resp = {'status': 'success'} urlkey = request.args.get('key') if urlkey is None: raise tasklets.Return({'status': 'error'}) category = yield Category.get_async(urlkey) u2c = yield User2Category.delete_async(g.user, category) if u2c: resp.update({'data': 'deleted'}) elif category is not None: User2Category.create_async(g.user, category) resp.update({'data': 'created'}) else: resp['status'] = 'error' raise tasklets.Return(request.is_xhr and jsonify(**resp) or redirect(url_for('.setup_profile')))