コード例 #1
0
ファイル: browse.py プロジェクト: neuront/nijinote
def single_post(view):
    try:
        post = models.post.by_id(view.request.get('p'))
        if post.private and not models.user.user(view).admin:
            return base.raise_forbidden(view)
        view.put_page('post.html', {
            'page_title': utils.escape.esc_title_plain(post.title),
            'post': utils.escape.client_post(post),
        })
    except ValueError:
        base.raise_not_found(view)
コード例 #2
0
def single_post(view):
    def title_text(title):
        def flat_nodes(nodes):
            r = []
            for n in nodes:
                if n.nodeType == n.TEXT_NODE:
                    r.append(n.data)
                else:
                    r.extend(flat_nodes(n.childNodes))
            return r
        import xml.dom.minidom as dom
        return ''.join(flat_nodes(dom.parseString((
                '<title>' + title + '</title>').encode('utf-8')).childNodes))
    try:
        post = base.post_for_client(models.post.by_id(view.request.get('p')))
        view.put_page('templates/post.html', {
            'post': post,
            'title': title_text(post.title),
        })
    except ValueError:
        base.raise_not_found(view)