def render(self, template_name, **template_values): template_values.update({ 'url': self.request.path_qs, 'current_user': self.user, '_csrf_token': generate_csrf_token(self.session), }) rendered = self.jinja2.render_template(template_name, **template_values) self.response.write(rendered)
def get_session(url, cw=None): #res = clf2.solve(url, cw=cw) #return res['session'] session = Session() sessionid = session.cookies._cookies.get('.instagram.com', {}).get('/',{}).get('sessionid') if sessionid is None or sessionid.is_expired(): raise errors.LoginRequired() session.headers['User-Agent'] = downloader.hdr['User-Agent'] if not session.cookies.get('csrftoken', domain='.instagram.com'): csrf_token = generate_csrf_token() print('csrf:', csrf_token) session.cookies.set("csrftoken", csrf_token, domain='.instagram.com') return session
def edit_post(post_id): """Replaces post behind id with submitted one""" post_d = mongo.db.posts.find_one(post_id) if post_d is None: abort(404) form = PostEditForm.from_json(request.json, skip_unknown_keys=False) if form.validate(): post = Post(bson=post_d) post.update(form.data) query = {'_id': post_id} mongo.db.posts.update(query, post.to_bson()) # needed for chaining multiple edits together token = generate_csrf_token() return jsonify(_csrf=token, **post.to_dict()) else: print form.errors #TODO abort(400)