Beispiel #1
0
    def get(self):
        slug = self.get_argument("slug", None)
        tags = m_tag.get_tags(self.db)
        default_tag = tags[0] if len(tags) >= 1 else "python"
        logging.info("default tag:{}".format(default_tag))
        default_article = {
            "title":"",
            "abstracts":"",
            "content":"",
            "slug":"",
            "tag":default_tag,
            "date":utils.get_today_date(),
        }
        article_id = ""
        if slug is not None:
            # Edit exists article
            default_article = m_article.get_article(self.db, slug)
            article_id = str(default_article["_id"])

        username = self.current_username
        self.render("backend/article_edit.html",
                    username=username,
                    article=default_article,
                    tags=tags,
                    article_id=article_id,
                    )
Beispiel #2
0
    def get(self, slug):
        logging.info("******** slug *********")
        logging.info("slug:{}".format(slug))
        article = m_article.get_article(self.db, slug)
        if article is None:
            raise HTTPError(404)

        username = self.current_username
        self.render("backend/article_detail.html",
                    username=username,
                    article=article
                    )
Beispiel #3
0
def favorite(aid):
    a = get_article(aid)
    action = request.args.get('action', None)
    request_url = request.args.get('request_url', None)
    if not a or not action:
        abort(404)

    if action == 'add':
        a.collect(g.current_user.uid)
    elif action == 'delete':
        a.decollect(g.current_user.uid)
    else:
        abort(400)

    return redirect(url_for('news.fulltext', aid=aid,
                            request_url=request_url))
Beispiel #4
0
def fulltext(aid):
    a = get_article(aid)
    if not a:
        abort(404)

    request_url = request.args.get('request_url', None)
    result = get_local_fulltext(aid)
    if not result:
        abort(404)

    if g.current_user:
        f = get_favorite(g.current_user.uid, aid)
    else:
        f = None

    return render_template('fulltext.html',
                           fulltext=result,
                           article=a,
                           favorite=f,
                           request_url=request_url)
Beispiel #5
0
    def get(self, slug):
        article = m_article.get_article(self.db, slug)
        if article is None:
            raise HTTPError(404)

        m_article.add_pageview(self.db, slug)
        article["content"] = markdown2.markdown(article["content"])
        article_id = article["_id"]
        comments = m_comment.get_comments(self.db, article_id)

        # Sidebar data.
        tags_stats = self.get_sidebar_tags_stats()
        hot_articles = self.get_hot_articles()
        visitor_num = self.get_visitor_num()


        self.render("frontend/article.html",
                    article=article,
                    comments=comments,
                    tags_stats=tags_stats,
                    hot_articles=hot_articles,
                    visitor_num=visitor_num,
                    title=ARTICLES_TITLE
                   )