diff --git a/controller/api/collector_blueprint.py b/controller/api/collector_blueprint.py index 5d2a161..2a31267 100644 --- a/controller/api/collector_blueprint.py +++ b/controller/api/collector_blueprint.py @@ -1,15 +1,39 @@ +import os.path import platform +import psutil from flask import Blueprint, jsonify + +from config import DANMAKU_FACTORY_EXEC, FFMPEG_EXEC, BILILIVE_RECORDER_DIRECTORY, XIGUALIVE_RECORDER_DIRECTORY from util.system import check_exec -from config import DANMAKU_FACTORY_EXEC, FFMPEG_EXEC blueprint = Blueprint("api_collector", __name__, url_prefix="/api/collector") +def _get_disk_info(path): + if os.path.isdir(path): + disk_info = psutil.disk_usage(path) + return { + 'exist': True, + 'percent': disk_info.percent, + 'free': disk_info.free / (1024 ** 2), + 'total': disk_info.total / (1024 ** 2) + } + else: + return { + 'exist': False, + 'percent': 0, + 'free': 0, + 'total': 0 + } + @blueprint.get("/") def collect_basic_status(): return jsonify({ + 'disk': { + 'bili': _get_disk_info(BILILIVE_RECORDER_DIRECTORY), + 'xigua': _get_disk_info(XIGUALIVE_RECORDER_DIRECTORY) + }, 'exec': { 'ffmpeg': check_exec(FFMPEG_EXEC), 'danmaku': check_exec(DANMAKU_FACTORY_EXEC), diff --git a/templates/index.html b/templates/index.html index 60ca433..abee353 100644 --- a/templates/index.html +++ b/templates/index.html @@ -124,11 +124,19 @@