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