Esempio n. 1
0
File: views.py Progetto: Morgl/charo
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)
Esempio n. 2
0
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"])))