def create_post(): form = PostForm() if form.validate_on_submit(): if session['user']: user_id = session['user'].id text = form.text.data title = form.title.data tags = form.tags.data.split() post = Post( text = text, user_id = user_id, title = title, tags = tags ) post.create() return redirect(url_for('dashboard')) else: return redirect(url_for('login')) return render_template('create_post.html', form=form)
def publish(post_meta): doc_id = Post.url_friendly_text(post_meta["title"]) # Open the database couch = couchdb.Server() db = couch["mrvoxel_blog"] # Load the database settings blog_settings = settings.loadSettings(db) # Check to see if we have a valid category if not post_meta["category"] in blog_settings["blog_categories"]: raise ValueError("No such category: %s" % post_meta["category"]) print "checking for [%s]" % doc_id # Load the post (if it exists in our database) post = Post.load(db, doc_id) # If it exists, warn the user if post: raw = raw_input("This will replace an existing post of the same title...\nContinue? (y/N)") # if the existing post is published but we're trying to preview if (post["published"] == False) and post_meta["published"]: raise ValueError("Cannot yet preview posts that are already published") if raw != "y": print "Canceling publish." return None else: for k, v in post_meta.iteritems(): if k not in ["published", "title"]: print k post[k] = v print post """ post.markdown = mdtext post.html = html post.author = author post.timestamp = timestamp post.published = not preview post.title = title post.tags = tags post.category = category """ post.store(db) else: post = Post.create(**post_meta) print post["_id"] post.store(db) print post["_id"] return post["_id"]
def post(self): if not self.user: self.redirect('/blog') subject = self.request.get('subject') content = self.request.get('content') user_id = self.user.key().id() if subject and content: p = Post.create(subject,content,user_id) self.redirect('/blog/%s' % str(p.key().id())) else: error = "subject and content, please!" self.render("newpost.html", subject=subject, content=content, error=error)
def post(self): if not self.user: self.redirect('/blog') subject = self.request.get('subject') content = self.request.get('content') user_id = self.user.key().id() if subject and content: p = Post.create(subject, content, user_id) self.redirect('/blog/%s' % str(p.key().id())) else: error = "subject and content, please!" self.render("newpost.html", subject=subject, content=content, error=error)