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