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")
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')
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'))