""" @author: luojunhui """ from quart import Blueprint, jsonify, request from .accountArticleRank import AccountArticleRank from .nlpServer import NLPServer from .articleDBServer import ArticleSpider from .accountServer import AccountServer from applications.articleTools import ArticleDBTools def AlgRoutes(mysql_client, model): """ ALG ROUTES :return: """ blueprint = Blueprint("LongArticlesAlgServer", __name__) @blueprint.route("/healthCheck") def helloFuture(): """ 测试服务连通性 :return: """ response = {"msg": "Hello, World! Hello, Future"} return jsonify(response) @blueprint.route("/articleRank", methods=["POST"]) async def articleRankRoute(): """ 文章排序接口 :return: """ params = await request.get_json() AAR = AccountArticleRank(params, mysql_client=mysql_client) response = await AAR.deal() # print(response) return jsonify(response) @blueprint.route("/nlp", methods=["POST"]) async def nlper(): """ nlper ma :return: """ params = await request.get_json() nlpS = NLPServer(params=params, model=model) response = nlpS.deal() return jsonify(response) @blueprint.route("/score_list", methods=["POST"]) async def articleAccount(): """ 公众号文章功能等接口 :return: """ params = await request.get_json() AS = AccountServer(mysql_client=mysql_client, params=params) response = await AS.deal() return jsonify(response) @blueprint.route("/title_list", methods=["POST"]) async def accountTitle(): """ 获取账号的标题list :return: """ params = await request.get_json() print(params) ADBT = ArticleDBTools(mysql_client=mysql_client) responseDF = await ADBT.getArticleByFilter( account_name=params['account_name'], index_list=params['index_list'], min_time=params['min_time'], max_time=params['max_time'], msg_type=params['msg_type'], ) title_list = responseDF['title'] response = {"title_list": title_list.values.tolist()} return jsonify(response) @blueprint.route("/article_crawler", methods=["POST"]) async def articleMysql(): """ 长文数据库相关接口 :return: """ params = await request.get_json() ADB = ArticleSpider(params=params, mysql_client=mysql_client) response = await ADB.deal() return jsonify(response) return blueprint