From 85ff3acf3bbfb79c37e1fe3b31935ed979d043ed Mon Sep 17 00:00:00 2001 From: EstrellaXD Date: Wed, 26 Apr 2023 11:02:26 +0800 Subject: [PATCH] Fix API bugs --- src/module/api.py | 18 +++++++++++++++--- src/module/app.py | 2 +- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/module/api.py b/src/module/api.py index 53821975..b3e73020 100644 --- a/src/module/api.py +++ b/src/module/api.py @@ -1,4 +1,6 @@ import logging +import os + from fastapi import FastAPI from fastapi.responses import FileResponse, Response @@ -24,13 +26,23 @@ async def startup_event(): @router.get("/api/v1/data") async def get_data(): - data = json_config.load(DATA_PATH) - return data + try: + data = json_config.load(DATA_PATH) + return data + except FileNotFoundError: + return { + "rss_link": "", + "data_version": settings.data_version, + "bangumi_info": [], + } @router.get("/api/v1/log") async def get_log(): - return FileResponse(LOG_PATH) + if os.path.isfile(LOG_PATH): + return FileResponse(LOG_PATH) + else: + return Response("Log file not found", status_code=404) @router.get("/api/v1/resetRule") diff --git a/src/module/app.py b/src/module/app.py index f6c5e9f8..0b4aab7a 100644 --- a/src/module/app.py +++ b/src/module/app.py @@ -82,7 +82,7 @@ def run(): download_client.init_downloader() if settings.rss_parser.token in ["", "token", None]: logger.error("Please set your RSS token in config file.") - exit(0) + exit(1) download_client.rss_feed() bangumi_data = load_data_file() # 主程序循环