def content_toc(self): """The wiki content is rendered for display. """ session = inspect(self).session def for_link(link): return Wiki.content_for_link(session, link) if not self.content: return '', '' content, toc = render_pq(self.content, for_link, toc_separate=True) return (sanitize_html(content.outerHtml() if content is not None else ''), sanitize_html(toc.outerHtml() if toc is not None else ''))
def new_comment(project_id): """ Post a comment on this project. """ form = ProjectCommentForm() if form.validate_on_submit(): project = project_for(project_id) author = CommentAuthor.from_user(current_session, current_user) parent_id = int(form.parent_id.data) if form.parent_id.data else None thread_id = int(form.thread_id.data) if form.thread_id.data else None # we have proxy fix for remote_addr. ip_address = request.remote_addr created_at = datetime.datetime.now() # hardcoded pygame forum id. category = '796386' forum = 'pygame' title = project.title link = f'https://pygame.org/project/{project_id}/' id_text = f'pygame_project_{project_id}' message = form.message.data message = message if '<p>' not in message else f'<p>{message}</p>' if not thread_id: thread = CommentThread( id_text=id_text, forum=forum, category=category, link=link, title=title, ip_address=ip_address, author=author, created_at=created_at, is_closed=False, is_deleted=False, ) current_session.add(thread) post = CommentPost(author=author, parent_id=parent_id, message=sanitize_html(message), ip_address=ip_address, created_at=created_at, is_deleted=False, is_spam=False) if classify_comment(post) == 'spam': post.is_spam = True if thread_id is None: post.thread = thread else: post.thread_id = thread_id current_session.add(post) current_session.commit() return redirect(url_for('project.view', project_id=project_id))
def content_rendered(self): """The wiki content is rendered for display. """ session = inspect(self).session def for_link(link): return Wiki.content_for_link(session, link) return sanitize_html(render(self.content, for_link))
def content_sanitized(self): """The wiki content which has any html sanitized. """ return sanitize_html(self.content)
def message_html(self): """ """ return sanitize_html(self.message, force_https=False)
def description_html(self): return sanitize_html(self.description)
def summary_html(self): return sanitize_html(self.summary)
def title_html(self): return sanitize_html(self.title)