Ejemplo n.º 1
0
 def post(self):
     title = self.request.get("title")
     slug = self.request.get("slug")
     text = self.request.get("text")
     if title and slug and text:
         BlogPost.create(title, slug, text)
     return self.redirect_to("main")
Ejemplo n.º 2
0
def add_post():
    title = request.form.get('title', None)
    content = request.form.get('content', None)
    if title and content:
         if len(str(title))==10 and len(str(content))==6:
             BlogPost.create(title, content)
             return redirect(url_for('all_posts'))
    return render_template('new_post.html', error='Username and Password are required')
Ejemplo n.º 3
0
def create_post():
    if authenticate():
        post = request.form
        error = False
        title = request.form['title'].strip() if request.form['title'] != None else None
        if title:
            if re.search("^[ a-zA-Z0-9\,\?\!]+$", title) == None:
                flash('Invalid characters detected in title')
                error = True
        else:
            flash('Title cannot be empty')
            error = True
        content = request.form['content'].strip()
        if content:
            regex = re.compile('^[ a-zA-Z0-9\.\?\,\!\"\(\)]+$', re.MULTILINE)
            content = content.replace("\r","")
            num_matches = len(regex.findall(content))
            num_lines = len(list(filter(remove_blanks,content.split("\n"))))
            if num_matches != num_lines:
                print(regex.findall(content))
                flash('Invalid characters detected in article body')
                error = True
            if request.form['tags'].strip() != "":
                if re.findall("^[ a-zA-Z0-9\,\.]+$",request.form['tags']) == []:
                    flash('Invalid characters detected in tags')
                    error = True
            if not error:
                try:
                    post = BlogPost.create(
                        title=request.form['title'],
                        content=request.form['content'],
                        tags=request.form['tags'],
                        created_at=datetime.datetime.now()
                    )
                except IntegrityError:
                    flash('That title is already taken')
                    error = True
        else:
            flash('Article body cannot be empty')
            error = True

        if error:
            return render_template('blog/new.html', post=post)
        else:
            return redirect(url_for('single_post', post_id=post.id))
    else:
        flash('Not authorized to do that')
        return redirect(url_for('blog'))