def edit_post(url=None): form = PreviewForm() form_url = None if url: post = mongo.db.posts.find_one_or_404({'url': url}) if request.method == 'POST': #Post already exists ==> we update it if url: last_update = '' if post['published'] == 'false' else strftime('%d/%m/%Y - %H:%M') mongo.db.posts.update( { 'url': url }, { "$set": { 'title': form.title.data, 'tags': [tag for tag in form.tags.data.split(' ')], 'content': form.pagedown.data, 'url': title_to_url(form.title.data), 'last_update': last_update } } ) #Post does not exist ==> we insert it else: mongo.db.posts.insert({ 'title': form.title.data, 'tags': [tag for tag in form.tags.data.split(' ')], 'content': form.pagedown.data, 'url': title_to_url(form.title.data), 'date': '', 'published': 'false', 'last_update': '', 'comments': [] }) return redirect(url_for('home')) elif url: form.title.data = post['title'] form.tags.data = ' '.join(post['tags']) form.pagedown.data = post['content'] form_url = post['url'] return render_template('edit.html', form=form, url=form_url)
def execute_post_edit(): data = {} #data = dict(request.form) # Can pull it all in at once, need to validate data first data["title"] = request.form["title"] data["subtitle"] = request.form["subtitle"] data["content"] = request.form["content"] data["date"] = request.form["date"] print "Got data from form!" print data filename = utils.title_to_filename(data["title"]) print "Saving to file ", filename with open(filename, 'w') as f: f.write(json.dumps(data)) return redirect(url_for('show_post', post_name=utils.title_to_url(data["title"])))