mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-04-14 18:41:04 +08:00
65 lines
1.5 KiB
Python
65 lines
1.5 KiB
Python
import logging
|
|
from fastapi import FastAPI
|
|
from fastapi.responses import FileResponse
|
|
|
|
from module.core import APIProcess
|
|
from module.conf import DATA_PATH, LOG_PATH, settings
|
|
from module.utils import json_config
|
|
from module.models.api import *
|
|
from module.models import Config
|
|
|
|
|
|
router = FastAPI()
|
|
api_func = APIProcess()
|
|
|
|
|
|
@router.on_event("startup")
|
|
async def startup_event():
|
|
logger = logging.getLogger("uvicorn.access")
|
|
handler = logging.StreamHandler()
|
|
handler.setLevel(logging.INFO)
|
|
handler.setFormatter(logging.Formatter("[%(asctime)s] %(levelname)-8s %(message)s"))
|
|
logger.addHandler(handler)
|
|
|
|
|
|
@router.get("/api/v1/data")
|
|
async def get_data():
|
|
data = json_config.load(DATA_PATH)
|
|
return data
|
|
|
|
|
|
@router.get("/api/v1/log")
|
|
async def get_log():
|
|
return FileResponse(LOG_PATH)
|
|
|
|
|
|
@router.get("/api/v1/resetRule")
|
|
def reset_rule():
|
|
return api_func.reset_rule()
|
|
|
|
|
|
@router.get("api/v1/removeRule/{bangumi_title}")
|
|
def remove_rule(bangumi_title: str):
|
|
return api_func.remove_rule(bangumi_title)
|
|
|
|
|
|
@router.post("/api/v1/collection")
|
|
async def collection(link: RssLink):
|
|
return api_func.download_collection(link.rss_link)
|
|
|
|
|
|
@router.post("/api/v1/subscribe")
|
|
async def subscribe(link: RssLink):
|
|
return api_func.add_subscribe(link.rss_link)
|
|
|
|
|
|
@router.post("/api/v1/addRule")
|
|
async def add_rule(info: AddRule):
|
|
return api_func.add_rule(info.title, info.season)
|
|
|
|
|
|
@router.post("/api/v1/updateConfig", tags=["config"])
|
|
async def update_config(config: Config):
|
|
return api_func.update_config(config)
|
|
|