zcensor/main.py
2021-11-30 20:20:30 +08:00

85 lines
2.2 KiB
Python

# encoding:utf-8
from fastapi import FastAPI, BackgroundTasks
from pydantic import BaseModel
import uvicorn
from lib.service.baidu import check_baidu
from lib.service.local import check_local, replace_local
from lib.service.wechat import msg_sec_check
app = FastAPI()
class Item(BaseModel):
content: str
def begin_audit_task(task_id: str):
print('begin audit task: %s' % (task_id))
@app.post("/check_wx")
async def check_with_wx(item: Item):
res_wechat = await msg_sec_check(item.content)
return res_wechat
@app.post("/check_bd")
async def check_with_bd(item: Item):
res_baidu = await check_baidu(item.content)
return res_baidu
@app.post("/check_local")
async def check_with_local(item: Item):
res_local = check_local(item.content)
return res_local
@app.get("/check_local/{content}")
async def check_with_local(content: str):
res_local = check_local(content)
return res_local
@app.post("/replace_local")
async def replace_with_local(item: Item):
res_local = replace_local(item.content)
return res_local
@app.get("/replace_local/{content}")
async def replace_with_local(content: str):
res_local = replace_local(content)
return res_local
# @app.post("/begin_task")
# async def begin_task(item: Item, background_tasks: BackgroundTasks):
# res_local = check_local(item.content)
# background_tasks.add_task(begin_audit_task, item.content)
# return res_local
@app.post("/check_all")
async def check_content(item: Item):
res_wechat = await msg_sec_check(item.content)
result = {'errcode': 1}
if res_wechat['errcode'] == 0:
result['errcode'] = 0
result['wx'] = res_wechat['risk']
result['reason_wx'] = res_wechat['reason']
res_baidu = await check_baidu(item.content)
if res_baidu['errcode'] == 0:
result['errcode'] = 0
result['bd'] = res_baidu['risk']
result['reason_bd'] = res_baidu['reason']
res_local = check_local(item.content)
if res_local['errcode'] == 0:
result['errcode'] = 0
result['local'] = res_local['risk']
result['reason_local'] = res_local['reason']
return result
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8019)