Example #1
0
def articles_detail_internal(req, article, **kwargs):
    if article.format == FORMAT_RST:
        article.perex = rst2html(article.perex)
        article.body = rst2html(article.body)

    if article.data.get('discussion', True):
        discussion = ArticleComment.list(req, article.id, Pager(limit=-1))
    else:
        discussion = []

    qid = randint(0, len(robot_questions)-1)
    question, answer = robot_questions[qid]
    return generate_page(req, "articles_detail.html", article=article,
                         discussion=discussion,
                         question=question,  answer=answer, qid=hex(qid),
                         staticmenu=req.cfg.get_static_menu(req),
                         styles=('tiny-writer',), **kwargs)
Example #2
0
def articles_comment_xhr(req, arg):
    id = arg if isinstance(arg, int) else None
    uri = arg if isinstance(arg, unicode) else None

    article, rv = articles_comment_internal(req, uri, id)
    # XXX: at now, isinstance not work, becouase, have another namespace
    # that rv....
    # if hasattr(rv, 'reason'):
    if isinstance(rv, ErrorValue):
        req.status = state.HTTP_BAD_REQUEST
        return send_json(req, rv, cls=ObjectEncoder)
    elif rv is None:
        req.status = state.HTTP_INTERNAL_SERVER_ERROR
        return send_json(req, {'reason': 'integrity_error'})

    return send_json(req, {'discussion': ArticleComment.list(req,
                           article.id, Pager(limit=-1)), 'last': rv.id},
                     cls=ObjectEncoder)