Exemple #1
0
def get_news(url):
    """
    RSSから記事情報をListで取得

    Parameters
    ----------
    url : String
        RSSのURL

    Returns
    -------
    list[Article]
        記事のList
    """

    # RSS情報を取得
    feeds = feedparser.parse(url)

    ai = predict()

    articles = list()

    for feed in feeds['entries']:
        article = Article()

        # 記事へのURL
        article.url = feed['link']

        # 記事名
        article.title = feed['title']

        # タグ
        if app.config["TAG_JUDGMENT_BY_AI"]:
            article.tag = get_tag(feed) + "," + ai.tag_judgment(article.title)
        else:
            article.tag = get_tag(feed)

        # Rss内の画像取得
        article.image = search_eyecatch_by_feed(feed)

        # 記事更新日 TODO:要改善
        article.datetime = datetime.today().strftime("%Y/%m/%d %H:%M:%S")

        # サイトタイトル
        article.site_name = feeds['feed']['title']

        articles.append(article)

    return articles
Exemple #2
0
def publish_article():
    form = ArticleForm().validate_for_api()

    title = form.title.data
    article_title = Article.query.filter_by(title=title).first()

    column_id = form.column_id.data
    column = Submenu.query.filter_by(id=column_id).first()

    user_id = form.user_id.data

    create_time = form.create_time.data

    if article_title:
        data = {"error_code": 100, "msg": "文章标题重复"}
        return restful_json(data)
    else:
        with db.auto_commit():
            article = Article()
            article.title = form.title.data
            article.author = form.author.data
            article.content = form.content.data
            article.column_id = form.column_id.data
            article.column_name = column.name_zh
            article.menu_id = column.menu_id
            article.en_name = column.menu.en_name
            article.menu_name = column.menu.menu_name
            article.recommend = form.recommend.data
            article.status = form.status.data

            if user_id:
                article.user_id = user_id
            else:
                article.user_id = g.user.uid

            if create_time:
                article.create_time = create_time
            else:
                article.create_time = time.strftime('%Y-%m-%d %H:%M:%S',
                                                    time.localtime())

            db.session.add(article)
        return Success()